?
<!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形成视觉上的在移。其实是最后?盒子旋转了。让秒针作为背景图,让整个盒子转。
? 对于拿其他对象上的东西。我们只能把其他对象的地址存到我们变量上,要不
? 存也只是存了个值