我想用倒数计时器每天数到上午 10 点,所以我使用这个:
setInterval(function time(){
var d = new Date();
var hours = 09 - d.getHours();
var min = 60 - d.getMinutes();
if((min + '').length == 1){
min = '0' + min;
}
var sec = 60 - d.getSeconds();
if((sec + '').length == 1){
sec = '0' + sec;
}
jQuery('#countdown p').html('<span>'+hours+'</span><span class="mins">'+min+'<br></span><span class="secs">'+sec+'</span>')
}, 1000)
但是,上午 10 点之后它显然想要变为负值,所以我想在上午 10 点之后添加一些东西以添加 24 小时,例如:
if(hours >= 10){
d = new Date() + 1;
}
但无法让它工作,任何想法将不胜感激。
最佳答案
您想设置时间,然后使用 getDate() 方法。
setInterval(function time(){
var start = new Date;
start.setHours(10, 0, 0); // 10am
var now = new Date;
if (now > start) { // check current time is getter then add one day
start.setDate(start.getDate() + 1);
}
var days = ((start - now) / 1000);
var hours = format((days / 60 / 60) % 60);
var min = format((days / 60) % 60);
var sec = format(days % 60);
jQuery('#countdown p').html('<span>'+hours+'</span><span class="mins">'+min+'<br></span><span class="secs">'+sec+'</span>')
},1000);
// Add before 0 of hour, min, sec
function format(num) {
return ("0" + parseInt(num)).substr(-2);
}
关于javascript - 倒数计时器每日循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68404810/