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);
    }
});

09-25 17:45