divがajaxで更新されるようにしようとしています。コード自体は実装済みで、すでに機能しています。div を 30 秒ごとに更新しますが、アクティブなタブでのみ更新します。私が理解していることから、タブが使用されているかどうかに関係なく、 setInterval は毎回更新されます。非アクティブな場合にsetIntervalが起動されないように、mouseenter(またはユーザーがサイトでアクティブであることを意味する他の種類のユーザー操作)をsetIntervalと組み合わせたいと思います。
現在、最初のページの読み込みでうまく機能するこのコードがあります。最初の 30 秒間は更新されず、div で mouseenter されるまで更新されません。ただし、最初の 30 秒後は、マウスを入力するたびに更新されます。
$(document).ready(function(){
$("#container").hide();
$("#loading").show();
$("div#refresh").load('example.com/load.php', function(){ $("#container").show(); $("#loading").hide(); });
function refresh() {
$("#refresh").mouseenter(function() {
// $("#container").hide();
$("#loading").show();
$("div#refresh").load('example.com/load.php', function(){ $("#container").show(); $("#loading").hide(); });
});
clearInterval(intervalID);
}
var intervalID = setInterval(refresh, 30000); // Will alert every 30 second.
// clearInterval(intervalID); // Will clear the timer.
});