一共遇到两次定时器加快的情况了。
第一次是因为清除定时器时把timer=null写在了clearInterval(timer)之前。
这一次是因为onmouut时竟然执行了两次time函数(time函数内启动定时器),相当于开了两个定时器,所以时钟加快。
如下这样写就不会有问题了:
var t=null; function time(){ if(t==null){ t=setInterval(function(){ iNow++; if(iNow>aLi.length-1){ iNow=0; } move(iNow) },2000); } }
如对本文有疑问, 点击进行留言回复!!
JavaScript 好题汇总分享(持续更新,看到好题就写)
XMLHttpRequest 2级 &&进度事件&&JSONP
使用递归原生实现拷贝&&最简单的方法实现深拷贝
网友评论