给此倒数计时器加0

-2 javascript timer countdown

我终于设法使我的24小时非日期可靠的倒数计时器。这样做的目的是,每当有人访问该网站时,倒计时就会开始。问题在于,当任何单位(小时,分钟,秒)达到个位数时,值将按原样显示它们而不是标准时间格式(应按9分钟而不是09分钟显示)。我如何实现一个条件,如果值<= 9会在其前面加上0?

var count = 86400;
var counter = setInterval(timer, 1000); //1000 will  run it every 1 second

function timer() {
  count = count - 1;
  if (count == -1) {
    clearInterval(counter);
    return;
  }

  var seconds = count % 60;
  var minutes = Math.floor(count / 60);
  var hours = Math.floor(minutes / 60);
  minutes %= 60;
  hours %= 60;

  document.getElementById("timer").innerHTML = hours + ":" + minutes + ":" + seconds; // watch for spelling
}
Run Code Online (Sandbox Code Playgroud)
 <span id='timer'></span>
Run Code Online (Sandbox Code Playgroud)

小智 5

创建一个类似于以下功能的功能,它可以为您完成工作:

function makeMeTwoDigits(n){
    return (n < 10 ? "0" : "") + n;
}
Run Code Online (Sandbox Code Playgroud)

在打印数字之前,请调用以下函数:

document.getElementById("timer").innerHTML = makeMeTwoDigits(hours) + ":" + makeMeTwoDigits(minutes) + ":" + makeMeTwoDigits(seconds);
Run Code Online (Sandbox Code Playgroud)

说明:

就像@rfornal所说的那样,我们正在检查数字是否小于10(表示一位数字),将其添加为“ 0”并返回,否则不添加任何内容并返回。

需要注意的一点是,如果数字为负,则此操作将无效。