Javascript 计数器脚本不倒计时
我有这个反脚本,但由于某些原因,它不工作,我想知道你们是否可以帮助我!(应向下计数)Javascript 计数器脚本不倒计时,javascript,Javascript,我有这个反脚本,但由于某些原因,它不工作,我想知道你们是否可以帮助我!(应向下计数) 函数更新时间(){ var totalSec=120; var小时数=parseInt(总秒/3600)%24; var minutes=parseInt(总秒/60)%60; var秒数=总秒数%60; var结果=(小时
函数更新时间(){
var totalSec=120;
var小时数=parseInt(总秒/3600)%24;
var minutes=parseInt(总秒/60)%60;
var秒数=总秒数%60;
var结果=(小时<10?“0”+小时:小时)+“:”+(分钟<10?“0”+分钟:分钟)+“:”+(秒<10?“0”+秒:秒);
document.getElementById(“timeLeft”).innerHTML=result;
totalSec=totalSec-1;
}
setInterval(函数(){updateTime();},1000);
脚本将totalSec转换为如下格式:00:00:00,在本例中是120秒,即00:02:00,但脚本没有倒计时,为什么不倒?
var totalSec=120代码>应在函数外部。您的代码将其声明为本地,并在每次调用函数时对其进行初始化。var totalSec=120代码>应在函数外部。每次调用函数时,您的代码都将其声明为本地并对其进行初始化。每秒都会调用函数updateTime,这意味着每次将totalSec变量设置为120
将该变量移出函数。请记住,全局变量不是一个好主意。函数updateTime每秒调用一次,这意味着totalSec变量每次都被设置为120
将该变量移出函数。请记住,全局var是个坏主意。您需要delcarevar totalSec=120代码>在您的功能之外。您的代码正在工作,但每次调用该函数时,它都会将totalSec
设置为120,因此您不会看到任何更改。您需要删除var totalSec=120代码>在您的功能之外。您的代码正在工作,但每次调用该函数时,它都会将totalSec
设置为120,因此您永远看不到任何更改。我怎么会错过这个。。非常感谢你!现在很好,我怎么会错过呢。。非常感谢你!它现在工作正常。你能解释一下全局变量是个坏主意是什么意思吗?Btx指的是全局变量可能会让代码读者感到困惑,并且有被意外覆盖的危险。你能解释一下全局变量是个坏主意是什么意思吗?Btx指的是这样一个事实:全局变量可能会使代码的读者感到困惑,并且有被意外地覆盖到其他地方的危险。
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);