0

我有以下代码

$('document').ready(function() {
  reload(); 
}); 

function reload() {
  $('div#info').load('http://somesite.ru/script.php');
  setInterval(reload(), 10000);   
}

但似乎方法 reload() 运行得太快了。Firefox 向我显示消息,关于 jquery.min.js 似乎很忙。如何使部分页面每 10 秒刷新一次?

4

5 回答 5

2

您应该删除(), 并将函数放在setInterval函数的上下文之外reload

function reload() {
   $('#info').load('http://somesite.ru/script.php');
}
$(document).ready(function() {
   setInterval(reload, 10000);   
}); 
于 2013-02-25T08:53:12.640 回答
1

代替:

setInterval(reload(), 10000);   

和:

setInterval(reload, 10000);   
于 2013-02-25T08:53:25.193 回答
1

使用 setTimeout() 代替它比 setInterval() 安全且性能好,可以满足您的要求。

var time= setTimeout(reload,1000);

检查 reload() 方法中的某些条件后,再次调用其中的 setTimeout

function reload()
{
 /// your logic
setTimeout(reload,1000);
}

每当您不想再重新加载时,使用上述变量来破坏间隔

clearTimout(time);
于 2013-02-25T08:56:38.320 回答
0
       Refer: http://www.w3schools.com/js/tryit.asp?filename=tryjs_setinterval

     setInterval(function(){reload();},10000);
于 2013-02-25T08:59:08.580 回答
0

另一种方法是使用

$('document').ready(function() {
  setInterval(function() { 
    $('div#info').load('http://somesite.ru/script.php'); 
  }, 10000);
});

一切正常。非常感谢你的回答。

于 2013-02-26T01:11:18.823 回答