進入一些代碼後,會顯示幾天,幾小時和幾分鐘,這些代碼記錄了每個星期五每天的中午,幾小時和幾分鐘的時間?JavaScript每週五重複倒計時到中午
(當中午週五達到我想櫃檯重新開始倒計時下週五午盤,所以計時器重複一遍又一遍?)
不知道如何去這樣做,因爲我相對較新的JS
任何幫助非常感謝!
進入一些代碼後,會顯示幾天,幾小時和幾分鐘,這些代碼記錄了每個星期五每天的中午,幾小時和幾分鐘的時間?JavaScript每週五重複倒計時到中午
(當中午週五達到我想櫃檯重新開始倒計時下週五午盤,所以計時器重複一遍又一遍?)
不知道如何去這樣做,因爲我相對較新的JS
任何幫助非常感謝!
這裏有很多關於定時器和倒計時的問題,你應該能夠從中找出一些基本的東西。一個非常簡單的倒計時中午下週五是:
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();
<div>Remaining to noon next Friday: <span id="toFriday"></span>
這是一個非常基本的實現,並當它在夏令邊界(可避免)將跳過,但應該適合簡單的倒數計時,其餘時間不重要。它只會是錯誤的時間很短:
不把這作爲答案,但如果你被允許使用jquery,那麼有一個名爲JQuery.Countdown的插件,基本上會爲你做這個。 –
關於定時器有很多很多的問題和解答,例如[* Javascript Countdown *](http://stackoverflow.com/questions/26004939/javascript-countdown)。請參閱[*我如何問一個好問題?*](http://stackoverflow.com/help/how-to-ask) – RobG