我是 javascript 的初学者,不幸的是,我对它还不够了解,无法做出我想要的改变,这就是我在这里伸出援手的原因!
所以基本上我使用的是其他人创建的计时器,但我不喜欢当只剩下 13 分 10 秒时,日期或小时显示为 0 天 0 小时 13 分 10 秒。
如果只剩下 13 分 10 秒,我是否可以让它只显示 13 分 10 秒,同时在时间超过 1 天或 1 小时时保留小时和天数?计时器?
这是代码:
countdown('06/26/2017 8:00 PM', 'timer'); //date format: mm/dd/yyyy hh:mm AM
function countdown(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 = 'THE DAY HAS ARRIVED!'; //Displays when countdown is complete
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);
document.getElementById(id).innerHTML = days + ' days ';
document.getElementById(id).innerHTML += hours + ' hrs ';
document.getElementById(id).innerHTML += minutes + ' mins ';
document.getElementById(id).innerHTML += seconds + ' secs';
}
timer = setInterval(showRemaining, 1000);
}
最佳答案
使用if条件检查天、小时或分钟是否大于0。如果它们大于0,则将它们添加到innerHTML。
document.getElementById(id).innerHTML = ""; // initialize it to empty string
if(days > 0) {
document.getElementById(id).innerHTML += days + ' days ';
}
if(hours > 0) {
document.getElementById(id).innerHTML += hours + ' hrs ';
}
if(minutes > 0) {
document.getElementById(id).innerHTML += minutes + ' mins ';
}
document.getElementById(id).innerHTML += seconds + ' secs';
如果分钟或小时为 0,则不会显示分钟或小时,但如果您想在分钟之前有小时、小时之前有天的情况下显示 0 分钟或 0 小时,那么您可以编写额外的 if 条件。
document.getElementById(id).innerHTML = ""; // initialize it to empty string
if(days > 0) {
document.getElementById(id).innerHTML += days + ' days ';
if(hours == 0) {
document.getElementById(id).innerHTML += '0 hours ';
if(minutes == 0) {
document.getElementById(id).innerHTML += '0 mins ';
}
}
}
if(hours > 0) {
document.getElementById(id).innerHTML += hours + ' hrs ';
if(minutes == 0) {
document.getElementById(id).innerHTML += '0 mins ';
}
}
if(minutes > 0) {
document.getElementById(id).innerHTML += minutes + ' mins ';
}
document.getElementById(id).innerHTML += seconds + ' secs';
关于javascript - 当达到 0 时从计时器中删除日期和小时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53852627/