<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			#canvas {
				width: 400px;
				height: 400px;
				border: solid 1px red;
			}
		</style>
	</head>

	<body>

		<canvas id="canvas" width="800" height="800"></canvas>

		<script type="text/javascript">
			var canvas = document.querySelector("#canvas");
			var ctx = canvas.getContext("2d");
			var now = new Date();
			var s = now.getSeconds();
			var m = now.getMinutes();
			var h = now.getHours();

			ctx.translate(400, 400);
			ctx.lineCap = "round";

			function drawClock() {
				ctx.beginPath();
				ctx.arc(0, 0, 370, 0, Math.PI * 2);
				ctx.lineWidth = 20;
				ctx.strokeStyle = "black";
				ctx.stroke();

				for(var i = 0; i < 60; i++) {
					ctx.beginPath();
					var x = 340 * Math.cos(Math.PI / 180 * i * 6);
					var y = 340 * Math.sin(Math.PI / 180 * i * 6);
					ctx.arc(x, y, (i % 5 == 0 ? 6 : 3), 0, Math.PI * 2);
					ctx.fill();
				}
			}

			function drawSecond(s) {

				ctx.save();

				ctx.rotate(Math.PI / 180 * s * 6);

				ctx.beginPath();
				ctx.lineTo(0, 60);
				ctx.lineTo(0, -280);

				ctx.lineWidth = 4;
				ctx.strokeStyle = "red";
				ctx.stroke();
				ctx.beginPath();
				ctx.arc(0, -220, 15, 0, Math.PI * 2);
				ctx.stroke();

				ctx.beginPath();
				ctx.arc(0, 0, 20, 0, Math.PI * 2);
				ctx.fillStyle = "blue";
				ctx.fill();
				ctx.restore();
				ctx.closePath();
			}

			function drawMinute(m, s) {

				ctx.save();

				ctx.rotate(Math.PI / 180 * (m * 6 + 6 / 60 * s));

				ctx.beginPath();
				ctx.lineTo(0, 40);
				ctx.lineTo(0, -240);

				ctx.lineWidth = 10;
				ctx.strokeStyle = "black";
				ctx.stroke();

				ctx.restore();
				ctx.closePath();

			}

			function drawHour(h, m) {

				ctx.save();

				ctx.rotate(Math.PI / 180 * (h * 30 + 30 / 60 * m));

				ctx.beginPath();
				ctx.lineTo(0, 30);
				ctx.lineTo(0, -200);

				ctx.lineWidth = 15;
				ctx.strokeStyle = "balck";
				ctx.stroke();
				ctx.beginPath();

				ctx.restore();
				ctx.closePath();

			}

			setInterval(function() {

				now = new Date();
				s = now.getSeconds();
				m = now.getMinutes();
				h = now.getHours();

				ctx.clearRect(-400, -400, 800, 800);

				drawClock();
				drawHour(h,m);
				drawMinute(m,s);
				drawSecond(s);

			}, 1000);

			drawClock();
			drawHour(h, m);
			drawMinute(m, s);
			drawSecond(s);
		</script>
	</body>

</html>

 时钟

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。