JS基础-特效篇(定时器)05-手表表盘

1.秒针:一圈360度,360/60:每隔一秒6度;分针:一圈一小时60分钟,一分钟走6度;时针:一圈12小时,360/12,每个小时走30度。
复习css的相关内容,我又忘记了!觉得尽力就可以了!!其他的也无所谓了!!
2.效果如图:
JS基础-特效篇(定时器)05-手表表盘
2.DOM元素

<div id="box">
    <div id="hour"></div>
    <div id="min"></div>
    <div id="second"></div>
</div>

4.样式

<style>
    * {
        margin: 0;
        padding: 0;
    }

    #box {
        width: 609px;
        height: 505px;
        background: url("images/watch.jpg") no-repeat;
        margin: 20px auto;

        position: relative;
    }

    #hour, #min, #second {
        position: absolute;
        left: 50%;
        top: 0;
        width: 20px;
        height: 145px;
        margin-top: 110px;
        margin-left: 13px;
        transform-origin: 50% 100%;
    }

    #hour {
        background: url("images/watch01.jpg") no-repeat center center;
        border-radius: 40%;
    }

    #min {
        background: url("images/watch02.jpg") no-repeat center center;
        border-radius: 40%;
    }

    #second {
        background: url("images/watch03.jpg") no-repeat center center;
        border-radius: 40%;
    }
</style>

函数

<script>
    window.onload = function (ev) {
        /*获取标签*/
        var hour = document.getElementById('hour');
        var min = document.getElementById('min');
        var second = document.getElementById('second');
        /*开启定时器*/
        setInterval(function () {
        //获取当前时间
            var date = new Date();
        //转换时分秒
            var mills = date.getMilliseconds();  //获取毫秒数
            var s = date.getSeconds() + mills/1000; //秒加上毫秒数
            var m = date.getMinutes() + s/60; //分钟加上秒数
            var h = date.getHours() +m/60; //小时加上分钟数
        //旋转
            hour.style.transform = 'rotate(' + h*30 + 'deg)';
            min.style.transform = 'rotate(' + m*6 + 'deg)';
            second.style.transform = 'rotate(' + s*6 + 'deg)';
        },1000);
    }
</script>
上一篇:[JS]-08


下一篇:**##根据结束时间与系统时间形成倒计时时间差*************