js 时钟小案例

本文将介绍如何使用JavaScript创建一个实时更新的时钟小案例,通过DOM操作展示时间变化,掌握JavaScript时间处理和DOM交互的基本技巧。

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

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>时钟</title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
			}
			.box{
				width: 600px;
				height: 600px;
				margin: 300px auto;
				background: url(img/clock.jpg) no-repeat;
				position: relative;
			}
			.box .h,.m,.s{
				width: 100%;
				height: 100%;
				position: absolute;
				left: 0;
				top: 0;
				text-align: center;
			}
			.box .h{
				background: url(img/hour.png) no-repeat center center;
			}
			.box .m{
				background: url(img/minute.png) no-repeat center center;
			}
			.box .s{
				background: url(img/second.png) no-repeat center center;
			}
		</style>
	</head>
	<body>
		<div id="box" class="box">
			<div class="h" id="hour"></div>
			<div class="m" id="minutes"></div>
			<div class="s" id="seconds"></div>
		</div>
	</body>
	<script type="text/javascript">
		var h = 0,m = 0,s = 0, ms = 0;
		setInterval(function(){
			var hour = document.getElementById("hour");
			var minutes = document.getElementById("minutes");
			var seconds = document.getElementById("seconds");
			
			var date = new Date();              // 得到的是最新时间
			ms = date.getMilliseconds();        // 得到毫秒数   
			s = date.getSeconds() + ms / 1000;  // 得到秒
			m = date.getMinutes() + s / 60;     // 得到分
			h = date.getHours() % 12 + m / 60;  // 得到 小时 
			
			//console.log(h);
			
			// 旋转角度    一圈360度    每秒旋转6 度     每分钟旋转 6 度     每小时 旋转30 度
			seconds.style.WebkitTransform = "rotate("+s*6+"deg)";
			minutes.style.WebkitTransform = "rotate("+m*6+"deg)";
			hour.style.WebkitTransform = "rotate("+h*30+"deg)";
			
			seconds.style.MozTransform = "rotate("+s*6+"deg)";
			minutes.style.MozTransform = "rotate("+m*6+"deg)";
			hour.style.MozTransform = "rotate("+h*30+"deg)";
			
		},1000);
	</script>
</html>

效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值