2
 通常,写首页轮播模块时都需要用到间歇调用函数的调用与清除,由于setInterval定时
 器存在一些性能上的问题,因此,在实际开发中都采用setTimeout来模拟setInterval的
 功能,其模拟代码如下:
 var timer = setTimeout(function() {
     //doing something
     setTimeout(arguments.callee, interval)
 }, interval);
 由于在timer 内部调用其自身,所以导致clearTimeout(timer)失效,对于这个问题,只需
 要稍做修改即可解决,其代码如下:
 var timer = setTimeout(function() {
     //doing something
     timer = setTimeout(arguments.callee, interval)
 }, interval);
 这样,即可通过clearTimeout(timer)清除setTimeout模拟的setInterval间歇调用程
 序;
 
 
 
 备注:如有更好的方法,各位网友可以写在评论区,本人感激不尽。

老人羽海
100 声望3 粉丝