js代码模拟时钟

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_45747808/article/details/102689624

先说一下实现思路:很简单,就是获取时间对象,然后分别获取时分秒,然后根据时分秒和表盘的角度问题进行设置就好了。至于时钟上的数字怎么一下子调过去也很简单,写在for循环中,进行一下变换就好了,

//body部分
<div id="box">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item">3</div>
    <div class="item">4</div>
    <div class="item">5</div>
    <div class="item">6</div>
    <div class="item">7</div>
    <div class="item">8</div>
    <div class="item">9</div>
    <div class="item">10</div>
    <div class="item">11</div>
    <div class="item">12</div>

    <div id="hour"></div>
    <div id="minute"></div>
    <div id="second"></div>
</div>

//script部分
for(var i =0;i<num.length;i++){
        num[i].style.transform = "rotate("+((i+1) * 30)+"deg) translateY(-280px) rotate("+ (i+1)*-30 +"deg)";
};

var hour = document.getElementById("hour");
var minute = document.getElementById("minute");
var second = document.getElementById("second");

setInterval(function(){
    var date = new Date();
    var h = date.getHours();
    var m = date.getMinutes();
    var s = date.getSeconds();
    second.style.transform = "rotate("+s*6+"deg)";
    var sec = 6*s/360*6;
    minute.style.transform = "rotate("+(m*6+sec)+"deg)";
    var min = 6*m/360*30;
    var ho = hour.style.transform = "rotate("+(h*30+min)+"deg)";
},50)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45747808/article/details/102689624