我正在为一个网站制作一个倒数计时器 - 它实际上没有目的,就在那里。所以基本上在午夜它从24小时开始,倒数一整天,再次在午夜重置。我有计时器工作,唯一的问题是我想确保它永远不会说“0 HRS,0 MIN” - 它应该保持1 MIN直到它重置。我以为我找到了办法,但我不确定它是否有效:
var date = new Date();
var month = date.getMonth();
var day = date.getDate();
var dayOfWeek = date.getDay();
var hours = {start: new Date(date.getFullYear(), month, day), end: new Date(date.getFullYear(), month, day)};
updateCountDown();
$(document).ready(function(){
setInterval('updateCountDown()', 1000);
});
function updateCountDown(){
var date = new Date();
var hourDiff = 23 - date.getHours();
var minDiff = 59 - date.getMinutes();
$('span.hours').html(23-date.getHours());
$('span.minutes').html(59 - date.getMinutes());
if (hourDiff == 0 && minDiff == 0 ) {
minDiff = 1;
};
};
有没有办法测试这个,而不是等到今晚午夜看看会发生什么?我尝试将updateCountDown中的新Date()更改为新的Date('2/5/13 4:30:00'),但它不起作用。
答案 0 :(得分:1)
显示后,您正在更新minDiff
变量。
试试这个:
var date = new Date();
var month = date.getMonth();
var day = date.getDate();
var dayOfWeek = date.getDay();
var hours = {start: new Date(date.getFullYear(), month, day), end: new Date(date.getFullYear(), month, day)};
updateCountDown();
$(document).ready(function(){
setInterval(updateCountDown, 1000);
});
function updateCountDown(){
var date = new Date();
var hourDiff = 23 - date.getHours();
var minDiff = 59 - date.getMinutes();
if (hourDiff == 0 && minDiff == 0 ) {
minDiff = 1;
};
$('span.hours').html(hourDiff);
$('span.minutes').html(minDiff);
};
答案 1 :(得分:0)
要进行测试,只需使用new Date()
替换updateCountDown
方法中的new Date(2013, 01, 01, 23, 59, 50)
来电。
并使用Marcus发布的代码。