通常,写首页轮播模块时都需要用到间歇调用函数的调用与清除,由于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间歇调用程
序;
备注:如有更好的方法,各位网友可以写在评论区,本人感激不尽。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。