;(function($){ $.fn.slider=function(options){ var defaults={ autoScroll:true,//是否自动滚动 spend:2000,//运动速度值 numControl:false, //页码数字 arrowControl:false //左右滑按钮 } var settings=$.extend({},defaults,options), slider=$(this), ul=slider.find('ul'), li=ul.find('li'), img=li.find('img'), width=slider.width(), height=slider.height(), len=li.length, timer=null, index=0; console.log(img) img.add(li).css({width,height:height}) //li和img的宽高 ul.css({ width*len, height:height }) if(settings.autoScroll){ //开始滚动 timer=setInterval(pic,settings.spend) } if(settings.numControl){ // 如果数字为true,就添加数字 slider.append("<div id='num'></div>") //创建id为num的div for(var i=0;i<len;i++){ //创建跟图片一样多的数字 slider.find('#num').append("<span>"+(i+1)+"</span>") // find() 方法获得当前元素集合中每个元素的后代 } slider.find('#num span').eq(0).addClass('active') slider.find('#num span').on('mouseover',function(){ //鼠标放到某个数字上 slider.find('#num span').eq($(this).index()).addClass('active').siblings().removeClass("active") //给某个数字加css样式,其余的清空样式 index=slider.find('#num span').index($(this)) showPic(index) }) } if(settings.arrowControl){ // 如果按钮为true slider.append("<span class='left'></span><span class='right'></span>") var prev=slider.find('.left') var next=slider.find('.right') prev.on('click',function(){ index-=1 if(index==-1)index=len-1 showPic(index) }) next.on('click',function(){ index+=1 if(index==len)index=0 showPic(index) }) } function pic(){ ///用来定义index值 index++; if(index==len)index=0 showPic(index) console.log(index) } function showPic(index){ //图片动起来 ul.animate({ left:-index*width }) slider.find('#num span').eq(index).addClass('active').siblings().removeClass('active') //数字的颜色随着图片而动 } slider.on('mouseover',function(){ //移上时停止定时器 clearInterval(timer) }) slider.on('mouseout',function(){ // 移出滚动 if(settings.autoScroll){ //开始滚动 timer=setInterval(pic,settings.spend) } }) return this } })(jQuery)