觀察功能需求
- 計算天、小時、分鐘、秒數的倒數
- 最下面顯示倒數年份
- page load的圖示(會旋轉1秒鐘)之後顯示倒數
CSS部分
1 | /*增加讓螢幕寬度變化時,字的大小隨之改變 |
Day22:小事之 Media Query CSS設定響應式(RWD)有幾種方法
JS部分
1. 宣告最終日期(新的一年1/1的日期)
- 要先宣告取得目前的年份
- 再利用此變數帶入,要倒數的最終日期
1 | //getFullYear(),用來取得日期物件當中本地時間的年份 |
時間日期
JavaScript Date 時間和日期
getFullYear() Method
2. 倒數計時的日、時、分、秒
currentTime
取得目前時間diff = newYearTime - currentTime;
:計算出目前與未來最終日期的時間差異(此相減得出的是毫秒)計算天數、小時、秒數
const d
1天等於24小時,1小時等於60分鐘,1分鐘等於60秒,1秒等於1000毫秒。所以,msec / 1000 / 60 / 60 / 24 保留整數就是天數。h = Math.floor(diff / 1000 / 60 / 60) % 24
:計算小時,並以除以24之後的餘數,來得到剩餘的小時。- 分鐘、以及秒數也是用同樣方式計算取得。
將取得的日期帶入畫面
- 使用
.html()
:$('#days').html(d);
- 在小時、分鐘、秒,是以兩位數呈現,需要當數字少於10,要呈現01,02…,所以使用三元運算子
$('#hours').html(h < 10 ? '0' + h : h);
,當數字小於10,要0+h;反之就只要呈現h。
- 使用
最後要設定
setInterval(updateCountdown, 1000);
,使其每秒倒數。
1 | function updateCountdown() { |
參考資料:
【JS】javascript時間Date()介紹與補零應用的技巧!!!
js和vue實現時分秒倒計時的方法
三元運算子:
Day19【ES6 小筆記】三元運算子-以哥哥的擇偶條件為例
3.載入圖示
- 設定在載入之後,要隔多久執行功能
- 在此設定載入1秒之後,要移除loading畫面,呈現出倒數的時間
1 | setTimeout(function () { |
4.放入要倒數的年份
1 | $('#year').html(currentYear + 1) |
網頁練習 -倒數計時器實作(上)
5 Best Countdown Timer JavaScript Libraries (2020 Update)
網頁練習 -倒數計時器實作(下)