清除间隔

时间:2017-10-14 12:32:29

标签: javascript jquery

我正在处理我的个人项目,并且在清除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);

1 个答案:

答案 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);