html自动轮播计时器不准,用jQuery写的图片轮播为何停止定时器只能停止一次?...

用jQuery写的图片轮播为何只有初次鼠标进入才能停止定时器?给我的感觉是后面无法停止自动播放,而且播放速度加快,调试很久不知问题出现在哪。

附上demo网址参考:http://huzerui.com/slideBox

js主要代码如下:

$(function () {

var stage=$('.pic-stage');

var pic=$('.pic-box');

var panel=$('.panel');

var panelLi=$('.panel li');

//获取单张图片的大小

var picWidth=parseInt($('.pic-box li:eq(0)').css('width'));

//获取图片的个数

var size=panelLi.size();

/*根据导航条li的个数实现居中布局

*采用width()方法获取的宽度不包括margin

*/

var panelWidth=panel.width();

//获取的margin包含上下边距和左右边距,用split()方法取得margin左右的数值

var margin=parseInt(panelLi.css('margin').split(' ')[1]);

var iNow=0;

pic.css('width',picWidth*size);

panel.css('margin-left',-(panelWidth+margin*size)/2);

for(var i=0;i

panelLi.eq(i).attr('index',i);

}

//导航条事件

panelLi.hover(function() {

iNow=$(this).attr('index');

pic.stop().animate({left:(-iNow*picWidth)+'px'});

});

//自动播放

function autoPlay(){

iNow++;

if (iNow===size) {

iNow=0;

}

pic.stop().animate({left:(-iNow*picWidth)+'px'});

}

var timer=setInterval(autoPlay,1000);

//鼠标悬浮停止定时器

stage.hover(function() {

clearInterval(timer);

}, function() {

setInterval(autoPlay,1000);

});

});

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值