JS30_02 — JS and CSS Clock

Huang Pei
3 min readFeb 6, 2019

--

學習重點:週期函數/transform/transition/取得時間/利用JS修改CSS樣式

步驟:於CSS設定通用樣式(起始點、旋轉角度、頻率、速率)>監聽時分秒針/建立時間函數(抓取時間和變更CSS)>設定週期

  1. 設定預設CSS樣式

transition-rotate旋轉, scale縮放, skew傾斜, translate平移(動作形狀相關)

transition-狀態變化時的轉場效果(和時間有關)

transform-origin: 100%; //時鐘起始點不在中心,必需以此調整中心點transform: rotate(90deg); //預設的旋轉角度transition: all 0.05s; //all為預設值,後接花多久時間完成這個轉場transition-timing-function: ease-in-out; //貝茲曲線速率:快慢快

相關CSS設定可以參考

2. 取得時間

new Date() //取得現在時間now.getSeconds(); //取得現在秒數now.getMinutes(); //取得現在分鐘now.getHours(); //取得現在小時

3. 切記改變樣式除了利用增減class name外,亦可使用.style.property=value(字串)進行

secondHand.style.transform = `rotate(${secondsDegrees}deg)` //改變旋轉角度

4. 週期函數 setInterval:設定週期並重複調用一個函數

setInterval(function, milliseconds, param1, param2, …)setInterval(setDate, 1000) //以時鐘為例,每1秒執行一次函數

--

--

Huang Pei
Huang Pei

Written by Huang Pei

記錄用倉庫,歡迎指正。菜鳥前端,最菜的那種(超能力少女です)。

No responses yet