Javascript 试图创建一个删除自身的表行
我正在尝试使用javascript每5秒删除一次表的顶行。我的javascript如下所示:Javascript 试图创建一个删除自身的表行,javascript,Javascript,我正在尝试使用javascript每5秒删除一次表的顶行。我的javascript如下所示: setTimeout(function(){ document.getElementById("myTable").deleteRow(0); }, 5000); 这使得它在5秒后删除第一行。有没有办法重新设置设置超时,重新开始倒计时 将其放入函数中,然后再次调用它 function deleteRows(){ var t = setTimeout(function(){
setTimeout(function(){
document.getElementById("myTable").deleteRow(0);
}, 5000);
这使得它在5秒后删除第一行。有没有办法重新设置设置超时,重新开始倒计时 将其放入函数中,然后再次调用它
function deleteRows(){
var t = setTimeout(function(){
document.getElementById("myTable").deleteRow(0);
clearTimeout(t);
deleteRows();
}, 5000);
};
在本例中,您似乎正在寻找
setInterval
的功能:
var myTimer = setInterval(function(){
document.getElementById("myTable").deleteRow(0);
}, 5000);
如果您仍然想使用setTimeout
,则需要在函数()中调用另一个setTimeout
代码>这也做了同样的事情。基本上,我们有一个函数,它通过一个setTimeout
不断地调用自己,如下所示:
(function loop() {
document.getElementById("myTable").deleteRow(0);
setTimeout(loop, 5000);
})();
我将使用setInterval()
。在回调函数中,检查行数,如果行存在,则删除它,如果它不删除时间间隔
参考:
JS Fiddle示例:(我使用了1秒延迟来加快速度)您需要使用setInterval
而不是setTimeout
在此处检查它们之间的差异:
设置超时(函数,毫秒):
在等待指定的毫秒数后执行函数
setInterval(函数,毫秒)
与setTimeout()相同,但连续重复函数的执行
因此,您可以按如下方式重写代码:
var timer = setInterval(function(){
document.getElementById("myTable").deleteRow(0);
}, 5000);
然后,如果要停止该计时器功能的执行,可以使用:
window.clearInterval(计时器)代码>谢谢您,先生。请投赞成票,尽管我在这里待久了你才会看到。