我正在处理我的个人项目,并且在清除setInterval后遇到问题。
var interval = setInterval(function() {
elem=document.getElementsByClassName('element')[0];
if (typeof elem == 'undefined')
{
return;
}
clearInterval(interval);
//my code
//element is undefined again
return setInterval(interval) //Want to start setInterval again, but nothing happens
}, 10);
答案 0 :(得分:1)
您的interval
变量只会存储您的间隔ID,因此您可以在以后轻松清除它。它不会存储你的功能。
要使其工作,请将间隔函数存储在变量中,以便可以像这样重新启动它:
var interval;
var intervalCallback = function() {
elem = document.getElementsByClassName('element')[0];
if (typeof elem == 'undefined') {
return;
}
clearInterval(interval);
interval = setInterval(intervalCallback, 10);
};
interval = setInterval(intervalCallback, 10);