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);
}
我使用此代码计算现在与下一小时的第一分钟之间的秒数。 关键是如果remainingSeconds小于120秒,div文本不会改变。该脚本在文档中就绪,因为我只在页面加载时检查它。 我为此创建了fiddle。
答案 0 :(得分:2)
问题是,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);
}
});