第一次用Jquery制作图片轮播(幻灯)效果
第一次使用Jquery制作一个图片轮播的效果,实现了基本功能,同一个页面可多次调用,鼠标悬停效果等。
结构:
CSS样式:
Javascript代码:
调用:
运行效果演示:http://www.huison.cn/tool/sider.html
结构:
<div id="sider" class="sider"> <ul class="thumb"> <li><img src="sr.jpg" /></li> <li><img src="t.jpg" /></li> <li><img src="http://ww3.sinaimg.cn/bmiddle/6b13f227jw1elxl3wdwpzj20c8085mxd.jpg" /></li> <li><img src="http://ww3.sinaimg.cn/bmiddle/6310d41cjw1elx06pogrlj20kw0eetc4.jpg" /></li> </ul> <ul class="icon"> <li><span> </span></li> <li><span> </span></li> <li><span> </span></li> <li><span> </span></li> </ul> </div>
CSS样式:
<style type="text/css"> .sider{width:175px;height: 220px;overflow: hidden;position: relative;} ul{list-style-type: none;margin:0;padding: 0;height:220px;position:absolute;} li{float:left;} .icon{left:0;bottom:0;height:26px;} .icon span{display:inline-block;width:10px;height: 10px;margin:0 0 10px 10px;font-size: 0; background-color:red;} .sider img{width: 175px;height: 220px;} .on span{background-color:green;} </style>
Javascript代码:
<script type="text/javascript"> var sider = function (id) { var a = $("#"+id); var b = a.find('.thumb'); var bb = a.find('.icon'); var c = b.find('li'); var d = c.outerWidth(true); var e = 0; var f = 5000; b.css("width",(c.length * d) + "px"); bb.find("li").eq(0).addClass("on"); var sider_play = function(){ e++; if(e%c.length == 0){ b.animate({"left":0},500); e = 0; }else{ b.animate({"left":"-"+(e*d)},500); } bb.find("li").eq(e).addClass("on").siblings().removeClass("on"); }; var timeInterval = setInterval(sider_play,f); a.on({ mouseenter:function(){ clearInterval(timeInterval); }, mouseleave:function(){ timeInterval = setInterval(sider_play,f); } }); bb.find("li").on("click",function(){ e = bb.find("li").index(this) - 1; sider_play(); }); } </script>
调用:
sider("sider"); //指定元素ID
运行效果演示:http://www.huison.cn/tool/sider.html