使用JavaScript完成时钟

这篇博客详细介绍了如何利用JavaScript的setInterval函数和CSS的transform属性,在HTML页面上创建一个动态旋转的时钟。通过获取当前时间并计算时、分、秒对应的角度,动态更新元素的旋转角度,实现了时钟指针的实时转动效果。核心代码涉及DOM操作、时间处理和CSS样式设置,适合前端开发者学习和实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要求:

  1. 按如下的html结构和样式,完成onload函数中的JS代码。实现时钟的运行显示
  2. 应用setInterval(function(){},1000)定时器来实现。
  3. 旋转请使用元素的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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杼蛘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值