停止JavaScript中的setInterval调用

JavaScript

米亚神无

2020-03-09

setInterval(fname, 10000);用来在JavaScript中每10秒调用一次函数。是否可以在某个事件中停止调用它?

我希望用户能够停止重复刷新数据。

第270篇《停止JavaScript中的setInterval调用》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

5个回答
猪猪番长 2020.03.09

使用setTimeOut在一段时间后停止间隔。

var interVal = setInterval(function(){console.log("Running")  }, 1000);
 setTimeout(function (argument) {
    clearInterval(interVal);
 },10000);
GO番长 2020.03.09

clearInterval()方法可用于清除使用setInterval()方法设置的计时器。

setInterval始终返回ID值。可以在clearInterval()中传递此值以停止计时器。这是一个计时器的示例,该计时器从30开始并在其变为0时停止。

  let time = 30;
  const timeValue = setInterval((interval) => {
  time = this.time - 1;
  if (time <= 0) {
    clearInterval(timeValue);
  }
}, 1000);
十三番长 2020.03.09

如果将返回值设置setInterval为变量,则可以使用clearInterval它来停止它。

var myTimer = setInterval(...);
clearInterval(myTimer);
番长神无 2020.03.09

您可以设置一个新变量,并在每次运行时使它递增++(加1),然后使用条件语句结束该变量:

var intervalId = null;
var varCounter = 0;
var varName = function(){
     if(varCounter <= 10) {
          varCounter++;
          /* your code goes here */
     } else {
          clearInterval(intervalId);
     }
};

$(document).ready(function(){
     intervalId = setInterval(varName, 10000);
});

我希望它会有所帮助,这是正确的。

宝儿前端 2020.03.09

setInterval()返回一个间隔ID,您可以将其传递给clearInterval()

var refreshIntervalId = setInterval(fname, 10000);

/* later */
clearInterval(refreshIntervalId);

请参阅该文档为setInterval()clearInterval()

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android