setinterval在ajax加载后继续运行

时间:2012-03-09 07:21:46

标签: javascript ajax

我从页面(mypage.php)将内容加载到DIV(#mydiv)。我从里面获取内容的页面里面有javascript。

在mypage.php中

 function refresh_feeds() {
//bla bla
}

$(function(){

    feed_timer = setInterval(refresh_feeds, 50000);

});

当我清理#mydiv的内容并从另一个页面(mypage2.php)加载内容时,在mypage.php中启动的setInterval会继续运行。

我的问题是如何在卸载mypage.php的内容时停止它

如何处理mypage.php的卸载事件?

3 个答案:

答案 0 :(得分:1)

var feed_timer;
function refresh_feeds() {
    //bla bla
}

$(function(){
    clearInterval(feed_timer);
    feed_timer = setInterval(refresh_feeds, 50000);
});

答案 1 :(得分:0)

你必须清除你的间隔

clearInterval(feed_timer);

确保将feed_timer保存在全局范围内

答案 2 :(得分:0)

function refresh_feeds() {
  console.log(1);
}

$(function() {
  window.feed_timer = window.setInterval(refresh_feeds, 100);
});

$(window).bind("beforeunload",function() {
  window.clearInterval(window.feed_timer);
  window.feed_timer = null;
  return 1;
});

请在控制台中查看此