计数器脚本不倒计时

时间:2013-11-13 18:00:37

标签: javascript

我有这个计数器脚本,但由于某种原因它不起作用,我想知道你们是否可以帮助我! (它应该向下计数)

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,但脚本没有倒计时,为什么不呢?

3 个答案:

答案 0 :(得分:2)

var totalSec = 120;应该在函数之外。您的代码将其声明为local,并在每次调用函数时对其进行初始化。

答案 1 :(得分:1)

每秒调用函数updateTime,这意味着每次将totalSec变量设置为120.

将该var移出函数。请记住,全球变量是一个坏主意。

答案 2 :(得分:1)

您需要在功能之外声明var totalSec=120;。您的代码正在运行,但每次调用该函数时,都会将totalSec设置为120,因此您永远不会看到任何更改。