停止JavaScript中的setInterval调用

时间:2020-03-06 14:29:27  来源:igfitidea点击:

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

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

解决方案

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

var refreshIntervalId = setInterval(fname, 10000);

/* later */
clearInterval(refreshIntervalId);

请参阅文档" setInterval()"和" clearInterval()"。

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

var myTimer = setInterval(...);
clearInterval(myTimer);

我们可以设置一个新变量,并在每次运行时使它递增++(加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);
});

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