我有这个计数器脚本,但由于某种原因它不起作用,我想知道你们是否可以帮助我! (它应该向下计数)
function updateTime() {
var totalSec = 120;
var hours = parseInt( totalSec / 3600) % 24;
var minutes = parseInt( totalSec / 60) % 60;
var seconds = totalSec % 60;
var result = (hours < 10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds);
document.getElementById("timeLeft").innerHTML = result;
totalSec = totalSec - 1;
}
setInterval(function(){ updateTime(); }, 1000);
脚本将totalSec转换为如下格式:00:00:00,在这种情况下,它是120秒,即00:02:00,但脚本没有倒计时,为什么不呢?
答案 0 :(得分:2)
var totalSec = 120;
应该在函数之外。您的代码将其声明为local,并在每次调用函数时对其进行初始化。
答案 1 :(得分:1)
每秒调用函数updateTime,这意味着每次将totalSec变量设置为120.
将该var移出函数。请记住,全球变量是一个坏主意。
答案 2 :(得分:1)
您需要在功能之外声明var totalSec=120;
。您的代码正在运行,但每次调用该函数时,都会将totalSec
设置为120,因此您永远不会看到任何更改。