使用插件实现图片轮播效果:
通过设置传入的参数autoScroll,numControl和arrowControl的值可以显示不同的效果
图片轮播效果一:设置autoScroll=true,numControl=false,arrowControl=false,图片自动轮播,当鼠标进入时停止轮播,当鼠标移出时继续轮播;
图片轮播效果二:设置autoScroll=true,numControl=ture,arrowControl=false,图片自动轮播,同时当鼠标指向导航数字时显示相应的图片;
图片轮播效果三:设置autoScroll=true,numControl=false,arrowControl=true,图片自动轮播,当鼠标点击左右按钮时,显示相应的图片;
动画效果如下:

图片轮播
jQuery.slider.js
;(function ($) {
$.fn.slider=function (options) {
var defaults={
autoScroll: true,
speed:2000,
numCtroll: false,
arrowControl: false
}
var settings=$.extend({},defaults,options),
slider=$(this),
ul=slider.find("ul"),
li=ul.find("li"),
img=li.find("imf"),
width=slider.width(),
height=slider.height(),
len=li.length,
timer=null,
index=0;
// ul.css({width:len*width,height:height});
// li.add(img).css({width:width,height:height});
//判断是否自动轮播
if (settings.autoScroll) {
timer=setInterval(pic,settings.speed);
}
//判断是否显示数字导航,并通过数字导航控制显示图片
if (settings.numCtroll){
slider.append("")
for (var i=0;i"+(i+1)+"");
}
slider.find(".num span").eq(0).addClass("active");
slider.find(".num span").on("mouseover",function () {
$(this).addClass("active").siblings().removeClass("active");
showPic($(this).index());
})
}
//判断是够显示左右按钮,并通过左右按钮控制显示图片
if(settings.arrowControl){
slider.append("");
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);
})
}
//鼠标移入时停止自动轮播
slider.on("mouseover",function(){
clearInterval(timer);
});
//鼠标移出时,检查autoScroll的值若为true则继续自动轮播
slider.on("mouseleave",function(){
if (settings.autoScroll) {
timer=setInterval(pic,settings.speed);
}
});
//设置index的值,并显示相应的图片
function pic(){
index++;
if (index==len){
index=0;
}
showPic(index);
}
//显示正确的图片
function showPic(index){
ul.animate({
left:-index*width
});
slider.find(".num span").eq(index).addClass("active").siblings().removeClass("active");
}
}
})(jQuery);