javascript - 清除 Interval 后调用 setInterval

标签 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);

最佳答案

您的 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);

关于javascript - 清除 Interval 后调用 setInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46744590/

相关文章:

javascript - knockout 映射到 JSON - 不能忽略嵌套的子项

php - 如何修复此下拉菜单?

javascript - 添加/删除用户后使用 AJAX 刷新列表

javascript - jQuery 没有获取属性值

javascript - 井字棋与 JavaScript 卡住

javascript - 使用 Vuex 更新数组中的对象

javascript - 为什么内部工具提示是 "Undefined"?

javascript - Django/Webpack - 如何使用 webpack 开发服务器提供生成的 webpack 包

javascript - 单击复选框时隐藏元素

javascript - 使用 JQuery 更改文本文件列表中 div 的文本