对不起,这个愚蠢的问题:)
所以我有一个美丽的计时器
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();
编辑 - 不确定这将如何处理夏令时