我有两个表,我想经常刷新。两者都使用几乎相同的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。
答案 0 :(得分: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
});
}