机械表

本文详细介绍了一个基于HTML5、CSS3及JavaScript实现的动态时钟项目。通过精确计算当前时间,利用CSS样式和JavaScript定时更新时针、分针及秒针的位置,使时钟能够准确显示实时时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!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>
</html>
<script>
    //transform: rotate(30deg);
    var hh = document.getElementById("h");  // 时针
    var mm = document.getElementById("m");  // 分针
    var ss = document.getElementById("s");  // 秒针
    setInterval(clock, 100);
    function clock() {
        var d = new Date();
        //秒针要细腻要从毫秒开始计算
        var ms = d.getMilliseconds();//毫秒
        //一秒是1000毫秒 把过去的毫秒的度数也加上
        var s = d.getSeconds() + ms / 1000;//计算有多少个6°
        ss.style.transform = "rotate(" + s * 6 + "deg)";
        //一分是60秒 把过去的秒的度数也加上
        var m = d.getMinutes() + s / 60;//计算有多少个6°
        mm.style.transform = "rotate(" + m * 6 + "deg)";
        //一小时是60分 如果过去30分钟了 时针应该在两个整点的中间
        //所以要加上分钟的度数 60分钟是一小时 过去30分钟时针应该转 30/60*一小时的度数
        var h = d.getHours() % 12 + m / 60;//计算有多少个30°
        hh.style.transform = "rotate(" + h * 30 + "deg)";
    }
</script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值