我终于设法使我的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”并返回,否则不添加任何内容并返回。
需要注意的一点是,如果数字为负,则此操作将无效。