gpt4 book ai didi

javascript - setTimeout 仅适用于一个函数

转载 作者:行者123 更新时间:2023-11-28 02:03:58 26 4
gpt4 key购买 nike

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

最佳答案

如果你想使用 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
});
}

关于javascript - setTimeout 仅适用于一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18046423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com