当前位置:  开发笔记 > 编程语言 > 正文

清除所有setIntervals

如何解决《清除所有setIntervals》经验,为你挑选了1个好方法。

我正在使用这样setIntervalseach()函数

$(".elements").each(function() {
    setInterval(function() {

    }, 1000);
});

显然,为每个元素创建了一个setIntervals.

我的问题是:当我不再需要它时,如何清除所有setIntervals?我已经尝试将setInterval存储在一个变量和调用中window.clearInterval(int),但是只清除了最后一个setInterval,因为每个变量都被覆盖了.



1> frosty..:

设置间隔时,会得到一个指向它的指针:

var myInterval = setInterval(function(){}, 4000);

如果要取消间隔,请执行以下操作:

clearInterval(myInterval); 

因此,对于您想要做的事情,您将执行以下操作:

var intervals = [];
$(".elements").each(function() {
    var i = setInterval(function() {

    }, 1000);
    intervals.push(i);
});

然后,如果你需要取消它们,你可以这样做:

intervals.forEach(clearInterval);

那应该为你做.

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有