Js版带表盘的时钟

html:

<span style="font-size:18px;"><!DOCTYPE html>
<html>
 <head>
  <title>Js版带表盘的时钟</title>
  <meta charset="utf-8"/>
  <link rel="Stylesheet" href="css/4_2.css"/>
  <script src="js/4_2.js"></script>
 </head>
 <body>
  <div id="clock">
	<div id="h"></div>
	<div id="m"></div>
	<div id="s"></div>
	<div id="a1">I</div>
	<div id="a2">II</div>
	<div id="a3">III</div>
	<div id="a4">IIII</div>
	<div id="a5">V</div>
	<div id="a6">VI</div>
	<div id="a7">VII</div>
	<div id="a8">VIII</div>
	<div id="a9">IX</div>
	<div id="a10">X</div>
	<div id="a11">XI</div>
	<div id="a12">XII</div>
  </div>
 </body>
</html>
</span>

js:

<span style="font-size:18px;">//1 任务: 每隔一秒计算三个指针旋转的角度
function rotate(){
  var now=new Date();//获得当前时间,保存在now中
  var s=now.getSeconds();//获得now的s
  var sDeg=6*s;//求秒针旋转的角度sDeg
  var m=now.getMinutes();//获得now的m
  var mDeg=6*(m+s/60);//求分针旋转的角度mDeg
  var h=now.getHours();//获得now的h
  h>12&&(h-=12);//将h换算成12小时制
  var hDeg=(m/60+s/3600+h)*30;//求时针旋转的角度hDeg
  //找到id为s的div,设置其style中的transform属性为:
  document.getElementById("s").style.transform=
    "rotate("+sDeg+"deg)";
  //找到id为m的div,设置其style中的transform属性为:
  document.getElementById("m").style.transform=
    "rotate("+mDeg+"deg)";
  //找到id为h的div,设置其style中的transform属性为:
  document.getElementById("h").style.transform=
    "rotate("+hDeg+"deg)";
}
window.οnlοad=function(){
  rotate();
  setInterval(rotate,1000);
}</span>


下面是一个简单的HTML时钟,带有表盘: ```html <!DOCTYPE html> <html> <head> <title>Digital Clock</title> <style type="text/css"> body { font-family: Arial; font-size: 24px; text-align: center; background-color: #f0f0f0; } #clock { width: 300px; height: 300px; margin: auto; position: relative; } #hour { position: absolute; top: 50%; left: 50%; width: 8px; height: 60px; background-color: #000; transform-origin: bottom center; } #minute { position: absolute; top: 50%; left: 50%; width: 4px; height: 80px; background-color: #000; transform-origin: bottom center; } #second { position: absolute; top: 50%; left: 50%; width: 2px; height: 100px; background-color: red; transform-origin: bottom center; } #dot { position: absolute; top: 50%; left: 50%; width: 16px; height: 16px; background-color: #000; border-radius: 50%; } </style> </head> <body> <div id="clock"> <div id="hour"></div> <div id="minute"></div> <div id="second"></div> <div id="dot"></div> </div> <script type="text/javascript"> function updateClock() { var now = new Date(); var hour = now.getHours(); var minute = now.getMinutes(); var second = now.getSeconds(); var hourAngle = (hour % 12) * 30 + (minute / 2); var minuteAngle = minute * 6; var secondAngle = second * 6; document.getElementById("hour").style.transform = "rotate(" + hourAngle + "deg)"; document.getElementById("minute").style.transform = "rotate(" + minuteAngle + "deg)"; document.getElementById("second").style.transform = "rotate(" + secondAngle + "deg)"; setTimeout(updateClock, 1000); } updateClock(); </script> </body> </html> ``` 这个时钟使用三个元素来表示时、分和秒的针,以及一个圆形的点来表示表盘的中心。这些元素都被绝对定位在时钟的中心,然后使用CSS的transform属性来旋转它们的角度来代表当前的时间。 请注意,这只是一个简单的教学示例,如果您需要更复杂的时钟功能,您可能需要使用JavaScript库或框架来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值