我正在为我已经开发的应用程序添加新功能。我正在尝试添加一个自动渲染功能,它会在一定时间间隔后自动渲染屏幕的某些部分。我正在为此使用 setInterval,一切正常。
我的问题是,我应该如何为除一个事件之外的所有其他事件调用 clearInterval(intervalId) 函数。请考虑一个例子: 假设我有一些与当前屏幕相关的事件,并且我只想在“.myBtn”单击时启动我的 setInterval 并停止所有其他事件。
var intervalId = 0;
$(".myBtn").click(function(){
intervalId = setInterval(function(){
alert("execute something");
}, 2000);
});
$(".otherElm").click(function(){
// some other stuff.
});
$(".otherElm1").click(function(){
// some other stuff.
});
$(".otherElm2").click(function(){
// some other stuff.
});
对于上述情况,我只知道一种停止间隔的方法,即在每个其他事件中放置“clearInterval(intervalId)”。
但是,还有其他方法吗?
希望我已经把一切都说清楚了,这样人们就可以理解我的问题了。
提前致谢
最佳答案
您的评论是对的 - 您必须将 clearInterval(IntervalId) 放入您需要停止事件的所有事件中。这样做有问题吗?
编辑:
用一个类来标识它们——比如 elm。完成后,使用 $(".elm").click(clearinterval)。
关于javascript - 有效地使用 setInterval/clearInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6596440/