我会在显示一些代码后显示天数,小时数和分钟数,这些代码会将每天,每小时和每分钟的天数,时间和分钟计算到每个星期五中午为止?
(当星期五中午到达时,我希望计数器再次开始倒计时到下周五中午,所以计时器一遍又一遍地重复?)
不确定如何做到这一点,因为我相对较新的JS
非常感谢任何帮助!
答案 0 :(得分:0)
这里有很多关于计时器和倒计时的问题,你应该能够从中找出基本的东西。下周五中午的一个非常简单的倒计时是:
function update(){
// Get current date and time
var today = new Date();
// Get number of days to Friday
var dayNum = today.getDay();
var daysToFri = 5 - (dayNum < 5? dayNum : dayNum - 7);
// Get milliseconds to noon friday
var fridayNoon = new Date(+today);
fridayNoon.setDate(fridayNoon.getDate() + daysToFri);
fridayNoon.setHours(12,0,0,0);
// Round up ms remaining so seconds remaining matches clock
var ms = Math.ceil((fridayNoon - today)/1000)*1000;
var d = ms / 8.64e7 | 0;
var h = (ms % 8.64e7) / 3.6e6 | 0;
var m = (ms % 3.6e6) / 6e4 | 0;
var s = (ms % 6e4) / 1e3 | 0;
// Return remaining
return d + 'd ' + h + 'h ' + m + 'm ' + s + 's';
}
// Run update just after next full second
function runUpdate() {
var el = document.getElementById('toFriday');
el.innerHTML = update();
setTimeout(runUpdate, 1020 - (Date.now()%1000));
}
runUpdate();
&#13;
<div>Remaining to noon next Friday: <span id="toFriday"></span>
&#13;
这是一个非常基本的实现,当它超过夏令时边界(可以避免)时会跳过,但它应该适合于简单的倒计时,其中剩余的时间并不重要。它只会在短时间内出错: