原生JS實現實時鐘表

分享一個用原生JS實現的實時鐘表特效,效果如下(PS:實際指針是按360度走的,截圖時隻截瞭一部分)

 

上面的效果一共需要4張圖片,分別是表盤、時針、分針、秒針,根據需要可以自己做圖片,實現的代碼如下:

<!DOCTYPE html>
<html>
 
<head lang="en">
    <meta charset="UTF-8">
    <title>原生JS實現實時鐘表</title>
    <style>
        .clock {
            width: 600px;
            height: 600px;
            margin: 100px auto;
            /* 表盤背景 */
            background: url(images/0.jpg) no-repeat;
            position: relative;
        }
 
        .clock div {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            /* 時針圖片 */
            background: url(images/1.png) no-repeat center center;
        }
 
        #m {
            /* 分針圖片 */
            background-image: url(images/2.png);
        }
 
        #s {
            /* 秒針圖片 */
            background-image: url(images/3.png);
        }
    </style>
</head>
 
<body>
    <div class="clock">
        <div id="h"></div>
        <div id="m"></div>
        <div id="s"></div>
    </div>
 
    <script>
        // 獲取元素
        var h = document.getElementById("h");//時
        var m = document.getElementById("m");//分
        var s = document.getElementById("s");//秒
        var timer = null;
 
        // 根據當前的時間實時的修改每個盒子的旋轉角度
        timer = setInterval(function () {
            var date = new Date();
 
            // 根據當前date的每個時間部分,計算盒子運動的角度
 
            // 每小時  360/12  30度/小時
            h.style.transform = "rotate(" + date.getHours() * 30 + "deg)";
 
            // 每分鐘 360/60   6度/分鐘
            m.style.transform = "rotate(" + date.getMinutes() * 6 + "deg)";
 
            // 每秒 360/60   6度/秒
            s.style.transform = "rotate(" + date.getSeconds() * 6 + "deg)";
 
        }, 1000);
    </script>
</body>
 
</html>

更多JavaScript時鐘特效點擊查看:JavaScript時鐘特效專題

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: