1. 程式人生 > >JS用定時器製作時鐘

JS用定時器製作時鐘

製作思路
1.首先需要時鐘的背景圖片,時針圖片,分針圖片,秒針圖片。鍾背景圖片固定(相對定位),時/分/秒針圖片旋轉(絕對定位);
2.設定定時器;
3.獲取系統時間,時/分/秒/毫秒;
4.秒針圖片每秒旋轉6°,分針每分針旋轉6°,時針每小時旋轉30°。
時鐘背景
時針
分針秒針

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #clock {
            position: relative;
        }
        #clock img{
            position: absolute;
        }
    </style>
</head>
<body>
    <div id="clock">
        <img src="img/clock.png" height="125" width="125"/>//時鐘4張圖片寬高一致,且寬等於高;
        <img src="img/h.png" height="125" width="125"/>
        <img src="img/m.png" height="125" width="125"/>
        <img src="img/s.png" height="125" width="125"/>
    </div>
    <script type="text/javascript">
        var imgs = document.getElementsByTagName("img");
         	//設定定時器
           setInterval(function () {
            // 3. 獲取資料
            var $d = new Date();
            var h = $d.getHours();// 獲取系統小時
            var m = $d.getMinutes();//獲取系統分
            var s = $d.getSeconds();//獲取系統秒
            var ms = $d.getMilliseconds();//獲取系統毫秒

            // 4. 邏輯計算
            var _h = h+m/60;//如1點30分,即1.5小時,時針應旋轉45°,位於1點和2點的正中間;
            var _m = m+s/60;
            var _s = s+ms/1000;
            
            // 5. 應用資料
            imgs[1].style.transform = "rotate("+(_h*30)+"deg)";//時針每小時旋轉30°
            imgs[2].style.transform = "rotate("+(_m*6)+"deg)";
            imgs[3].style.transform = "rotate("+(_s*6)+"deg)";
        },30);
    </script>
    </body>
</html>