javascript - clearInterval 不会停止 setInterval

标签 javascript setinterval clearinterval

我有 1 个可以打开和关闭的按钮: 按钮打开 -> onrepeat = true 按钮关闭 -> onrepeat = false

如果 onrepeat 为 true,则 setinterval 会开始执行,效果很好。如果 onrepeat 为 false,我希望它清除间隔。

我的清除间隔不会停止间隔,它只会继续:

 function checkRepeat() {

      var int = setInterval(repeat, 6000);

      if (onrepeat === false) {
          $("#repeat_toggle").attr("class", "repeat_button");

          repeat();
          int;

          onrepeat = true;

      }

      else {

          clearInterval(int);
          $("#repeat_toggle").attr("class", "repeat_off_button");
          onrepeat = false;

       }


  }

知道出了什么问题吗?

最佳答案

int 的作用域为函数。每次调用 checkRepeat

时它都会重置

您需要将其范围限制在函数之上。

关于javascript - clearInterval 不会停止 setInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13729395/

相关文章:

javascript - 错误: Java Script code在哪里

javascript - 在 Google Apps 脚本中将一维数组转换为对象

JavaScript setTimeout() 不会等待执行?

javascript - 我应该如何声明一个具有 setInterval 值的变量?

javascript - 元素在过渡时重叠的 setInterval 函数,

javascript - 我怎样才能依赖于我刚刚在 jquery 中清除的间隔?

javascript - 如何停止 setInterval() 函数?

javascript - NodeJS 上的全局变量赋值是原子的吗?

javascript - SetTimeout 无法正常工作

javascript - clearInterval 不适用于随机播放功能