css3+js实现时钟

这是一个使用HTML、CSS和JavaScript实现的实时动态时钟示例。通过CSS设置时钟外观,JavaScript获取当前时间并更新秒、分、时针的角度,实现了时间的动态显示。页面中包含了小时、分钟和秒针的样式定义以及定时器功能,确保时间的实时更新。

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

<!DOCTYPE html>
<html>
  <head>
  	<meta charset="utf-8">
  	<title></title>
  </head>
  <style type="text/css">
  	* {
  		margin: 0;
  		padding: 0;
  	}

  	.box {
  		margin: 100px auto;
  		width: 445px;
  		height: 445px;
  		border-radius: 50%;
  		background: url(img/clock.png) no-repeat;
  		position: relative;
  	}

  	.box>div {
  		position: absolute;
  	}

  	.hour {
  		width: 24px;
  		height: 108px;
  		background: url(img/h.png) no-repeat center center;
  		/*设置旋转中心 */
  		transform-origin: 12px 97px;
  		top: 129px;
  		left: 208px;

  	}

  	.m {
  		width: 24px;
  		height: 142px;
  		background: url(img/m.png) no-repeat center center;
  		/*设置旋转中心 */
  		transform-origin: 12px 131px;
  		top: 96px;
  		left: 208px;
  	}

  	.s {
  		width: 14px;
  		height: 160px;
  		background: url(img/s.png) no-repeat center center;
  		/*设置旋转中心 */
  		transform-origin: 8px 146px;
  		top: 80px;
  		left: 213px;
  	}
  </style>
  <body>
  	<div class="box">
  		<div class="hour"></div>
  		<div class="m"></div>
  		<div class="s"></div>
  	</div>
  	<script type="text/javascript">
  		function fun() {	
  			var date = new Date();
  			
  			// 设置秒针的运动
  			document.querySelector('.s').style.transform = 'rotate(' + date.getSeconds() * 6 + 'deg )';
  			
  			
  			// 设置分针的运动
  			 // date.getSeconds() / 60 * 6  与秒针联动
  			var min = date.getMinutes() * 6 + date.getSeconds() / 60 * 6;
  			document.querySelector('.m').style.transform = 'rotate(' + min + 'deg ) ';
  			
  			
  			// 设置时针的运动
  			//date.getMinutes() / 60 * 30  与分针联动
  			var hour = (date.getHours() % 12) * 30 + date.getMinutes() / 60 * 30;
  			document.querySelector('.hour').style.transform = 'rotate(' + hour + 'deg ) ';
  		}
  		
  		//设置定时器
  		setInterval(fun, 1000)
  	</script>
  </body>
</html>

效果图

表盘
秒针
分针
时针

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值