0

次のコードがあります

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

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

メソッド reload() の実行速度が速すぎるようです。Firefox に、jquery.min.js がビジー状態であるというメッセージが表示されます。ページの一部を 10 秒ごとに 1 回更新するにはどうすればよいですか?

4

5 に答える 5

2

を削除し、関数を関数のコンテキスト外に()配置する必要があります。setIntervalreload

function reload() {
   $('#info').load('http://somesite.ru/script.php');
}
$(document).ready(function() {
   setInterval(reload, 10000);   
}); 
于 2013-02-25T08:53:12.640 に答える
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 に答える
1

交換:

setInterval(reload(), 10000);   

と:

setInterval(reload, 10000);   
于 2013-02-25T08:53:25.193 に答える
0

別の方法は、単に使用することです

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

すべて正常に動作します。ご回答ありがとうございます。

于 2013-02-26T01:11:18.823 に答える
0
       Refer: http://www.w3schools.com/js/tryit.asp?filename=tryjs_setinterval

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