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是个坏主意。

您需要delcare
var 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);