1

我有两张表,我想经常刷新。两者都使用几乎相同的javascript,除了一个有效而另一个无效。
这是第一个表的代码(仅刷新一次):

function refreshTable() {
    $('#tablefill').load('table.php', function(){
       table1refr=setTimeout(refreshTable, 10000);
    $.each(selected, function(index, value) {
       document.getElementById(value).innerHTML = '-';
    });
    });
}

这是第二个(应该每 10 秒刷新一次):

function refreshFileTable() {
    $('#filetablefill').load('filetable.php', function(){
       table2refr=setTimeout(refreshFileTable, 10000);
    });
}

我尝试在两者上将 setTimeout 切换为 setInterval,这很有效,但是浏览器选项卡会在页面上停留一分钟左右后完全冻结。如果您可以建议一种方法来防止这种情况发生,我很乐意使用 setInterval。

4

1 回答 1

1

如果你想使用 setInterval 你不需要每次都设置它,试试这个

$(document).ready(function(){
  setInterval(refreshFileTable,1000);
})

function refreshFileTable() {
    $('#filetablefill').load('filetable.php', function(){
       // do nothing or remove this handler entirely
       // if you were setting intervals over here you have created new interval in every 10 seconds         and thats how it hanged 
    });
}
于 2013-08-04T19:06:24.127 回答