setTimeout仅适用于一个函数

时间:2013-08-04 18:54:00

标签: javascript jquery settimeout

我有两个表,我想经常刷新。两者都使用几乎相同的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。

1 个答案:

答案 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 
    });
}