阅读插件源码的时候发现一个js写法,(省略了一些代码,结构是这样子的)
function changeImg(_index){
$bannerList.eq(_index).fadeIn(250);
$bannerList.eq(_index).siblings().fadeOut(200);
$focusBubble.find("li").removeClass("current");
$focusBubble.find("li").eq(_index).addClass("current");
clearInterval(_timer);
timer=setInterval(function(){$nextBnt.click()},5000)
}//切换主函数
<span style="white-space:pre"> </span>var timer=setInterval(function(){$nextBnt.click()},5000)
首先用setInterval()设定一个定时器,每隔一段时间调用上面函数,然后再函数里面先用clearInterval()函数清除定时器,
接着再设定一个同样的定时器。一开始觉得这样写多此一举,仔细一想既然作者这么写,肯定有他的理由,然后才明白过来,
clearInterval(_timer);
timer=setInterval(function(){$nextBnt.click()},5000)
这两行代码是必须写的不能省略,这是为了确保函数保持5s调用一次才这么写的,因为执行函数需要一定的时间(即使浏览器性能很好,但也要花费一些时间),这样的话当
函数运行多次之后可能就不再是每隔5s调用一次了。
再牛逼的梦想也抵挡不了你傻逼似的坚持,加油!