时钟效果制做

首先准备四张图片,分别代表时分秒和背景。在这里我就省略css 部分。主要的东西是设置时分秒为绝对定位,然后设置背景图片。注意background-postion的定位为center center居中显示就可以了。

<body>
<div class="clock">
    <div class="h" id="hour"></div>
    <div class="m" id="minute"></div>
    <div class="s" id="second"></div>
</div>

</body>

二、JS部分,再没有开始JS部分之前我们需要了解的知识。第一步获取时分秒元素,二、通过Date对象获取时间,三、获取的时间需要在定时器中,四、由于我们知道时钟需要有旋转角度。我们怎么计算是难点。首先分析,获取秒针时间之后,一秒钟旋转多少度?是6度 分针也一样,然而时针一小时旋转30度,所以我们在计算转动角度之后,还要分析,每个周期没有走完,就是说还没有达到一个整数的一小时,时针是不动的?不是所以我们需要动态的数据。需要在每个后面加上,每过一微秒的动态数据变化。然手利用,transform属性中的rotate() 旋转方法实现角度的转动。

<script>
  var hour = document.getElementById("hour");
  var minute = document.getElementById("minute");
  var second = document.getElementById("second");
    // 开始定时器
   var s = 0,m = 0, h = 0, ms = 0;
    setInterval(function() {
          // 内容就可以了
        var date = new Date();  // 得到最新的时间
        ms = date.getMilliseconds(); // 现在的毫秒数
        s = date.getSeconds() + ms / 1000;  //  得到秒 1.3 s
        m = date.getMinutes() + s / 60;  //  得到的是分数  45.6分钟
        h = date.getHours() % 12 + m / 60 ;
        //console.log(h);
        //旋转角度
       // 一圈  360 °     一共有 60 秒       每秒  6 °   现在是 s秒
        second.style.WebkitTransform = "rotate("+ s*6 +"deg)";
                     //  变化            旋转    deg  度
        minute.style.WebkitTransform = "rotate("+ m*6 +"deg)";
        hour.style.WebkitTransform = "rotate("+ h*30 +"deg)";
        second.style.MozTransform = "rotate("+ s*6 +"deg)";
                     //  变化            旋转    deg  度
        minute.style.MozTransform = "rotate("+ m*6 +"deg)";
        hour.style.MozTransform = "rotate("+ h*30 +"deg)";
    },100);
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值