jQuery.如何将超时设置为午夜并每天重置它



对不起,这个愚蠢的问题:)

所以我有一个美丽的计时器

 function wr_hours(item){
    //  timeout we keep seconds
    var sek = item.data("timeout");
    var min = Math.floor((sek /60)%60) ;//min
    var hour = Math.floor((sek / (60*60)) %24) ;//hours
    var days = Math.floor(sek /(24*60*60)) ;//days
    var counterWrapper = $("#b-countdown");
    if ( min < 10 ){
        min = "0" + min;
    }
    //  CSS around
    if ( hour != counterWrapper.data("left") ){
        var hourClass = hour == 0 ? 1 : hour;
        counterWrapper.attr("class", "left-" + hourClass).attr("data-left", hourClass)
    }
    var time_wr = hour + ":" + min;
    item.html(time_wr);
    item.data("timeout", (sek - 1) > 0 ? sek - 1 : 24 * 60 * 60);
}
setInterval(function(){
    $(".deadline").each(function(){ wr_hours($(this));})
}, 1000);

它适用于 html 中的以下代码:

<div id="b-countdown" data-left="" class="">
    <span class="deadline" data-timeout="24053"></span>
</div>

那么如何将数据超时设置为午夜呢?并在之后重置它。

将日期设置为午夜,然后从当前时间(以毫秒为单位)中减去午夜的毫秒。现在在超时时使用它

var midnight = new Date();
midnight.setHours(24,0,0,0); //midnignt
var timeTilMidnight = midnight.getTime() - Date.now();

编辑 - 不确定这将如何处理夏令时

相关内容

  • 没有找到相关文章

最新更新