html无缝切换页面,jQuery实现轮播图无缝(无回滚)滚动切换效果

$.fn.slide = function(){

var slideEle = $(this);

var slideContent = slideEle.find('.slide-content');

var slideNavLi = slideEle.find('.slide-nav li');

var slideWidth = slideEle.width(); //显示窗口宽度

var timer = null;  //定时器

var time = 2000;    //轮播图切换事件(毫秒)

var index = 0;  //当前索引值

var oldLength = slideEle.find('.slide-item').length;    //item初始长度

var length = oldLength*2;  //item复制后的长度

init();

//初始化

function init(){

//将item复制一份加入到原item的后面,形成:原1、原2、原3、原4、...原末、复1、复2、复3、复4...复末,并定位到复1项

index = oldLength;

slideContent.append(slideContent.html()).css({width:slideWidth*length,left:-slideWidth*index});

//鼠标悬浮事件

slideEle.hover(function(){  //移除定时任务

clearInterval(timer);

},function(){  //添加定时任务

setTimer();

});

//按钮点击事件

slideEle.find('.prev').click(function(){

if(!slideContent.is(':animated')){

index--;

change();

}

}).end()

.find('.next').click(function(){

if(!slideContent.is(':animated')){

index++;

change();

}

});

//导航点点击事件委托

slideNavLi.click(function(event){

index = $(event.target).index()+oldLength;

change();

});

setTimer();

}

//设置定时器

function setTimer(){

timer = setInterval(function(){

index++;

change();

},time);

}

function change(){

changeSlide();

changeNav();

}

//轮播图切换

function changeSlide(){

/*      if(slideContent.is(':animated')){

return;

}*/

slideContent.animate({left:-slideWidth*index},500,function(){

//原1、原2、原3、原4、...原末、复1、复2、复3、复4...复末

if(index <= 0){

//当定位到原1时,在回调函数中将slideContent瞬间定位到复1

index = oldLength;

slideContent.css({left:-slideWidth*index});

}

if(index >=length-1){

//当定位到复末时,在回调中将slideContent瞬间定位到原末

index = oldLength-1;

slideContent.css({left:-slideWidth*index});

}

});

}

//导航点切换

function changeNav(){

slideNavLi.removeClass('active').eq(index%oldLength).addClass('active');

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值