var now = new Date().getTime();
var remainingSeconds = (new Date(new Date(new Date(now + 3600000).setMinutes(1)).setSeconds(0)) - now) / 1000;
console.log(remainingSeconds);
if (remainingSeconds>=120) {
$('#countdown').text('120');
}else{
$('#countdown').text(remainingSeconds);
}
我使用此代码来计算从现在到下一小时的第一分钟之间有多少秒。
关键是,如果剩余秒数少于120秒,则div文本不会更改。该脚本已准备好在文档中,因为我只在页面加载时检查它。
我为此创建了一个fiddle。
最佳答案
问题是,在您的代码中remainingSeconds
永远不会低于60
。这是一个更新版本,其中包括解决方法/解决方案。
$(document).ready(function(){
var now = new Date().getTime();
var remainingSeconds = (new Date(new Date(new Date(now + 3600000).setMinutes(1)).setSeconds(0)) - now) / 1000;
// --- Workaround-Begin ---
if ( remainingSeconds >= 3600 ) {
remainingSeconds -= 3600;
}
// --- Workaround-End ---
console.log(remainingSeconds);
if (remainingSeconds>=120) {
$('#countdown').text('120');
}else{
$('#countdown').text(remainingSeconds);
}
});