我是javascript的完全入门者,不幸的是,我对javascript的了解还不足以进行所需的更改,这就是为什么我要在这里进行推广!
所以基本上我使用的是别人创建的计时器,但是我不喜欢将天或小时显示为0天0小时13分10秒,而仅剩13分10秒。
有没有办法让我只显示13分钟10秒(如果还剩下13分钟10秒),同时还能将小时和天数保持在1天或1小时以上呢?计时器?
这是代码:
倒计时('06 / 26/2017 8:00 PM','计时器'); //日期格式: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);
}
答案 0 :(得分:2)
使用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小时,则可以写一些额外的条件。
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';