CSS Sprite (JS)

HTML

 1 <body>
 2     <!-- ul.sprite>li*5>s.s-icon+a{CSS Sprite} -->
 3     <!-- 以上是Sublime Text快速拼写 -->
 4     <ul class="sprite">
 5         <li><s class="s-icon"></s><a href="">CSS Sprite</a></li>
 6         <li><s class="s-icon"></s><a href="">CSS Sprite</a></li>
 7         <li><s class="s-icon"></s><a href="">CSS Sprite</a></li>
 8         <li><s class="s-icon"></s><a href="">CSS Sprite</a></li>
 9         <li><s class="s-icon"></s><a href="">CSS Sprite</a></li>
10         <div class="clear"></div>
11     </ul>
12 </body>

CSS

 1 <style>
 2     body { background-color: #fc0; color:#333;}
 3     * {margin:0; padding:0;}
 4     ul,li {list-style: none;}
 5     a { color:#f00; font-weight: bold; text-decoration: none;}
 6     .sprite {margin:0 auto; width:1000px; padding-top: 50px;}
 7     .sprite li {float:left; margin-left: 50px; text-align: center; cursor:pointer; }
 8     .sprite li s { display: block; width:132px; height:112px; background:url(all.png) no-repeat; }
 9     .clear { clear:both;}
10 </style>

JS

 1 <script src="http://code.jquery.com/jquery-latest.js"></script>
 2     <script>
 3     $(function () {
 4         var iconH = $(".sprite").find("s").height(),
 5             //找出存放图片的容器的高度;
 6             triggerLi = $(".sprite").children("li");
 7             //找出每一个li,放到一个数组中;
 8         //console.log(iconH);
 9         //在控制台打印出容器的高度;
10         triggerLi.each(function () {
11         //遍历数组中的每一个li
12             var $this = $(this),
13                 //声明变量赋值当前的li;
14                 $index = $this.index();
15                 //声明变量保存当前li的index值;
16             //console.log($index);
17             //在控制台打印出每一个li的index值;
18             //console.log(iconH*$index);
19             //得出每一个图片对应的position值;
20             $this.children("s").css("background-position","0 -"+iconH*$index+"px");
21             //利用js遍历出每一个s标签的背景图片;
22             $this.hover(function() {
23                 //鼠标移入
24                 $this.children("s").css("background-position","-132px -"+iconH*$index+"px");
25             }, function() {
26                 //鼠标移出
27                 $this.children("s").css("background-position","0 -"+iconH*$index+"px");
28             });
29         })
30     })
31     </script>

IMG(右键保存即可,重命名all.png)

SHOW

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。