做一个时钟电子表

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .clock {
            width: 600px;
            height: 600px;
            margin: 100px auto;
            background: url(images/clock.jpg) no-repeat;
            position: relative;
        }

        .clock div {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url(images/hour.png) no-repeat center center;
        }

        #m {
            background-image: url(images/minute.png);
        }

        #s {
            background-image: url(images/second.png);
        }
    </style>
</head>
<body>
<div class="clock">
    <div id="h"></div>
    <div id="m"></div>
    <div id="s"></div>
</div>
</body>

<script src="common.js"></script>

<script>
    /*思路分析:
    一个表盘360度
    一个表盘有60秒  :  1秒 =  360/60 = 6度
    一个表盘有60分: 1分 = 360/60 = 6度
    一个表盘有12小时:  1小时 = 360/12 = 30度

    假如时间: 00:00:10
        * 秒钟:  10 * 6 = 60度
        * 分种:   10/60 * 6 = 1度
        * 时钟:   10/3600 * 30 = 1/12  度
   假如时间:  03:10:20
        * 秒钟:   20 * 6 = 120度
        * 分钟: 10 * 6 + 20/60 * 6 = 62度
        * 时钟: 3*30 + 10/60 * 30 + 20/3600 * 30 = 95.6
     */

    var hDiv = id('h');//小时div
    var mDiv = id('m');//分钟div
    var sDiv = id('s');//秒钟div

    //页面已加载:走字
    zouzi();

    setInterval(function (  ) {
        zouzi();
    },1000)

    function zouzi (  ) {
        //1.获取当前真实时间
        var date = new Date();
        //2.获取时分秒
        var s = date.getSeconds();
        var m = date.getMinutes();
        var h = date.getHours();

        //3.计算时分秒的角度
        var sDeg = s * 6;
        var mDeg = (m + s/60)*6;
        var hDeg = (h + m/60 + s/3600)*30;

        //4.改变元素的角度
        hDiv.style.transform = 'rotate(' + hDeg + 'deg)';
        mDiv.style.transform = 'rotate(' + mDeg + 'deg)';
        sDiv.style.transform = 'rotate(' + sDeg + 'deg)';
    }
</script>
</html>

 

转载于:https://my.oschina.net/u/4004801/blog/3062647

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值