在JavaScript中停止setInterval调用

我正在使用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(加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);
});

我希望它有帮助,而且是对的。

链接地址: http://www.djcxy.com/p/51605.html

上一篇: Stop setInterval call in JavaScript

下一篇: javascript closure advantages?