#JS and CSS Clock 筆記
demo
學會 js Time 和 用js 操作css
還有基本的ES6語法
const now = new Date(); //
const seconds = now.getSeconds();
const mins = now.getMinutes();
const hour = now.getHours();
3.利用時間取得對應角度
const secondsDegrees = ((seconds / 60) * 360) + 90;
零點角度 rotate。秒針轉一圈 60s,每一秒對應角度為
(...s / 60s) * 360°。
4.用得到角度 給值html在style的transform屬性上
const seconds = now.getSeconds();
const secondsDegrees = ((seconds / 60) * 360) + 90;
secondHand.style.transform = `rotate(${secondsDegrees}deg)`;
5.放上js 計時器
setInterval(setDate, 1000); //每一1000毫秒 觸發函式
影片有提出
若指針在354度切到0度時,
會使指針往前彈回去,這是因為有使用transtion,在角度做切換時會加上的動畫效果,
354→0度會認為是往前,而非轉一圈回到起點,所以動畫先往前轉到0。
解法有:
const 常數
不允許之後做改變
不允許重複宣告 不允許宣告前使用
let 變數
Template strings
secondHand.style.transform = `rotate(${secondsDegrees}deg)`;`
一個很複雜要常搞混的地方
transform-oragin 時鐘的軸點和軸心的初始位置
trsition :指針跳動時的轉場動畫