我使用setInterval如下所示,直到现在我使用它的方式完全相同但如果从Document中删除了元素,则此间隔将继续不必要地工作。我还没有看到处理这种情况的例子。
是否没有必要处理此案件?如果我必须处理它,那么什么是最好的休息间隔?
var element = $('bla');
setInterval(function () {
element.text(new Date().toString());
}, 1000);
答案 0 :(得分:2)
只是评论:
@hicurin,您可以考虑使用立即调用的函数表达式(IIFE):
(function() {
var element = $('bla');
var interval = setInterval(function () {
element.text(new Date());
// check if element is removed
if(!$('bla').length && interval) {
clearInterval(interval);
}
}, 1000);
}());
答案 1 :(得分:1)
试试这个:
var element = $('bla');
var int = setInterval(function () {
element.text(new Date().toString());
// check if element is removed
if(!(element.length > 0) || element == undefined){
clearInterval(int);
}
}, 1000);