因此,基本上我想做的就是让倒数计时器在达到“ 10”以下时添加一个“ 0”。到目前为止,我已经尝试了一个if语句(在下面的代码中),该语句不起作用。这是我的完整代码:
CountDownTimer('01/1/2017 12:0 AM', 'countdown');
CountDownTimer('01/1/2017 12:0 AM', 'newcountdown');
function CountDownTimer(dt, id)
{
var end = new Date(dt);
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;
function showRemaining() {
var now = new Date();
var distance = end - now;
if (distance < 0) {
clearInterval(timer);
document.getElementById(id).innerHTML = 'EXPIRED!';
return;
}
var days = Math.floor(distance / _day);
var hours = Math.floor((distance % _day) / _hour);
var minutes = Math.floor((distance % _hour) / _minute);
var seconds = Math.floor((distance % _minute) / _second);
// THIS IS THE "IF" STATEMENT THAT DID NOT WORK, EVERYTHING ELSE IS WORKING
if (seconds < 10) {
document.getElementById(id).innerHTML += '0' + seconds + '.';
}
document.getElementById(id).innerHTML = days + '. ';
document.getElementById(id).innerHTML += hours + '. ';
document.getElementById(id).innerHTML += minutes + '. ';
document.getElementById(id).innerHTML += seconds + '.';
}
timer = setInterval(showRemaining, 1000);
}
您的代码的问题不是if
,它可以正常工作:
if (seconds < 10) {
document.getElementById(id).innerHTML += '0' + seconds + '.';
}
但是事实是,在此之后,您将覆盖先前的值:
document.getElementById(id).innerHTML += seconds + '.';
一个简单的解决方案是seconds
在您的中将其转换为字符串if
:
if (seconds < 10) {
seconds = "0" + seconds;
}
这样,您可以在后续的中使用字符串innerHTML
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句