//悬停时停止滑动,离开时继续执行 $(docthis).children("li").hover(function(){ clearInterval(anifun); //清除自动滑动动画 },function(){ anifun = setInterval(autoani,value.time); //继续执行动画 })
以上正确的
//悬停时停止滑动,离开时继续执行 $(docthis).children("li").hover(function(){ clearInterval(anifun); //清除自动滑动动画 },function(){ setInterval(autoani,value.time); //继续执行动画 })
以上错误的
差别在以下两句:
anifun = setInterval(autoani,value.time);
setInterval(autoani,value.time);
第一句:可以理解为anifun引用了一个方法或对象。
这样才能在鼠标悬停的时候,通过这个anifun这个名字,去解除setInterva();让翻转停止;
第二句:
可以理解为又创建了一个方法或对象,setInterval(autoani,value.time); 但没有任何名字去引用它;所以再次鼠标悬停的时候,执行clearInterval(anifun);是找不到setInterval(autoani,value.time),因此无法停止向上翻动。
本文详细解析了使用jQuery实现鼠标悬停时停止轮播图自动滑动,离开时继续执行的技术细节。重点对比了两种不同的setInterval方法调用方式,解释了为什么一种能够正确暂停动画而另一种不能。

被折叠的 条评论
为什么被折叠?



