1

我使用 jQuery ajax 每 2 秒刷新一次 div。

如何在 60 秒后停止刷新(例如,如果用户处于非活动状态)?

setInterval(function() {
  $.ajax({
    url: "feeds.php",
    cache: false
  }).done(function( html ) {
  $('#feeds').replaceWith('<div id="feeds">'+html+'</div>');
   });
}, 2000);

谢谢 !

4

3 回答 3

4

将 setInterval 句柄分配给一个变量,您将在 60 秒后使用它来清除它。

var interval = setInterval(function(){ ... }, 2000);

// start a 60 second timer
setTimeout(function(){ window.clearInterval(interval); }, 60000);
于 2012-07-15T16:28:38.620 回答
0

没那么难。

var myInterval = setInterval(function(){},2000);
setTimeout(function() { clearInterval( myInterval ); }

我不确定这是否有泄漏。

于 2012-07-15T16:28:28.060 回答
0
//store the ajax call into a variable
var chr =  $.ajax({ .....}

//use setTimeout to invoke its abort() method after 1000 ms (1 second)
setTimeout(function(){
  chr.abort()
}, 1000);
于 2016-01-13T10:25:06.743 回答