时钟案例需要注意的点

2023-12-19 00:46:33
?
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>练习 - 网页时钟</title>
  <style>
    * {
      box-sizing: border-box;
    }

    .clock {
      width: 600px;
      height: 600px;
      background: url(./uploads/clock.jpg) no-repeat;
      margin: 50px auto 0;
      position: relative;
     
    }

    .hh,
    .mm,
    .ss {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      background: url(./uploads/hour.png) no-repeat center;
    }

    .mm {
      background-image: url(./uploads/minute.png);
      transform: rotate(270deg);
    }

    .ss {
      background-image: url(./uploads/second.png);
      transform: rotate(1deg);
    }
  </style>
</head>

<body>
  <div class="clock">
    <div class="hh" id="h"></div>
    <div class="mm" id="m"></div>
    <div class="ss" id="s"></div>
  </div>
  <script>
    let i=1
   const aa= document.querySelector('#s')
   
   console.log('========')
   console.log( aa.style.transform )
   setInterval(function(){
      if(i>60){
        i=1
      }
    aa.style.transform =`rotate(${i*6}deg)`
    console.log( aa.style.transform )
      i++
    },1000)
      
  // const second = document.querySelector('.ss');
    
  //   let du = 0
  //   setInterval(function () {
  //     du += 6
  //     if (du >= 360) {
  //       du = 0
  //     }
  //     second.style.transform = `rotate(${du}deg)`;
  //   }, 1000);
  </script>
</body>
</html>

?

document.querySelector('#s').style.transform获取的不是对象,最后变量内存了一样的值。因此需要存对象地址.在定时器外面获取对象地址,获取transform无效的,这里写对象,省的总是去获取。调用方法啥的。transform存得是字面值,所以对整个来个反引号? 1s调用一次线程,执行后整个DOM树transform如果一直写rotate(6deg)。最后是看DOM树,渲染树上的transform,每一次定时器线程结束,都是6deg,每一秒之后也只能让盒子旋转6deg,不会累加的。看这个变量内的值。写6*i形成视觉上的在移。其实是最后?盒子旋转了。让秒针作为背景图,让整个盒子转。
? 对于拿其他对象上的东西。我们只能把其他对象的地址存到我们变量上,要不
? 存也只是存了个值

文章来源:https://blog.csdn.net/qq_61990666/article/details/135071842
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。