清除设置间隔不起作用

Clearing setinterval not working?

本文关键字:不起作用 设置 清除      更新时间:2023-09-26
var theintrvl = function() {
  setInterval(function () {
     somefunction()
  }, 3000)
}

somefunction并不重要 - 一切都很好,但是!当我尝试清除间隔时,它不会清除。这是我尝试过的:

document.getElementById('clearme').addEventListener('click', function() {
   clearInterval(theintrvl);
});

我也尝试了somefunction而不是theintrvl,但什么都没有!

你不需要

首先把它包装在一个函数中。只需保存setInterval函数返回的值

var theintrvl = 
  setInterval(function () {
     somefunction()
  }, 3000);

你需要有

var myinterval = setInterval(function, time)

然后要清除它,你会这样做

clearInterval(myinterval)

不过,您可能希望摆脱外部功能,因为无法从外部访问myinterval theintervl

还有一件事,你可以考虑做

setInterval(somefunction, 3000)

而不是从匿名函数调用函数

希望这有帮助!

试试这个:

var test = setInterval(somefunction, 3000);
 clearInterval(test);