要求:
- 按如下的html结构和样式,完成onload函数中的JS代码。实现时钟的运行显示
- 应用setInterval(function(){},1000)定时器来实现。
- 旋转请使用元素的transform:rotate(10deg);来实现。在JS中,可如下实现:
element.style.transform = ‘rotate(10deg)’;
在本题中,应注意秒针、分针和时针的角度要根据各自计算得到的具体值来计算得到。因而可以采用拼接的形式得到具体的角度值。
3.1 对于时针而言,每小时对应360/12=30,所以时针旋转的角度为h*30
3.2对于秒针和分针而言,每秒和分钟对应360/60=6,所以秒针分针旋转的角度为m(s)*6。
核心代码:
<script>
window.onload = function() {
// 1. 获取需要的标签
let hour = document.querySelector('#hour')
let min = document.querySelector('#min')
let second = document.querySelector('#second')
// 2.开启定时器
setInterval(() => {
// 2.1 获取当前的时间对象
let date = new Date()
// 2.2 取得小时、分钟、秒和毫秒数,并将其进行相应合并计算
let ms = date.getMilliseconds() // 毫秒
let s = date.getSeconds() + ms / 1000 // 秒,取具体秒数
let m = date.getMinutes() + s / 60 // 分钟,取具体分钟
let h = date.getHours() % 12 + m / 60 // 小时,求余(对半),取具体小时
// 2.3 旋转
second.style.transform = `rotate(${s*6}deg)`
min.style.transform = `rotate(${m*6}deg)`
hour.style.transform = `rotate(${h*30}deg)`
}, 1000)
}
</script>
具体代码及相应素材,请访问Gitee:https://gitee.com/aiw-nine/web/tree/master/1109