计数器脚本未倒计时

Counter script not counting down

本文关键字:倒计时 脚本 计数器      更新时间:2023-09-26

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

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

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

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

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

你需要在你的

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