Javascript:innerHTML并不总是更新

时间:2013-04-23 10:15:07

标签: javascript dom innerhtml timing watch

我得到了这个函数,它每秒都被setInterval

触发
function updatetimer() {
    if (timesec==0) {
        if (timemin==0) clearInterval(interval);
        else {
            timemin--;
            timesec=59;
        }
    }
    else timesec--;

    document.getElementById('timeleft').innerHTML=timemin+':'+timesec;
}

你希望它每秒用新的时间更新名为timeleft的innerHTML的元素。但由于某种原因,它没有,有时也没有。它可能与所有其他编码有关,因为有很多setTimeout和DOM-stuff正在进行。

如果这是假设的行为,请指出另一种方法。

提前感谢,Locercus

1 个答案:

答案 0 :(得分:0)

使用setTimeoutsetInterval的活动安排是尽力而为模型。如果您安排一个间隔每1000毫秒运行一次,如果正在处理其他事件,它可以运行得更久。

这就是为什么用setInterval实现每秒触发的时钟通常是个坏主意。你的时钟总是很慢。