canvas时针

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			#my_canves {
				display: block;
				margin: auto;
			}
		</style>
	</head>

	<body>
		<canvas id="my_canves" style="border: solid green;" width="400" height="300"></canvas>
		<script>
			window.onload = function(){	
				var ca = document.getElementById("my_canves");
				var content = ca.getContext("2d");
				cloc()
			function cloc() {

//为防止在定时器第二次触发时,画布上的第一次的图影响第二次的图,孤儿清理画布

                 content.clearRect(0,0,200,200)

//绘制整个表盘

				content.strokeStyle = "#000000";
				content.beginPath();
				content.arc(100, 100, 100, 0, Math.PI * 2, true);
				content.closePath();
				content.stroke();
                //绘制中间的小实心圆
				content.fillStyle = "#000000";
				content.beginPath();
				content.arc(100, 100, 5, 0, Math.PI * 2, true);
				content.closePath();
				content.fill();

//绘制12个时间的刻度

				for(var i = 0; i < 12; i++) {
					content.beginPath();
					content.save();
					content.translate(100, 100);
					content.rotate(i * 30 * Math.PI / 180);
					content.moveTo(0, 80);
					content.lineTo(0, 100)
					content.stroke();
					content.restore();
					content.closePath();
				}
//				绘制分的时间刻度
				for(var j = 0; j < 60; j++) {
					content.beginPath();
					content.save();
					content.translate(100, 100);
					content.rotate(j * 6 * Math.PI / 180);
					content.moveTo(0, 100);
					content.lineTo(0, 90);
					content.stroke();
					content.restore();
					content.closePath()
				}
				//获取当前的时间:
				var nowTime = new Date();
				var hours = nowTime.getHours();
				var minutes = nowTime.getMinutes();
				var seconds = nowTime.getSeconds();
                //调整时间为12小时计时
				hours = hours > 12 ? hours - 12 : hours;
				//根据当前的分得时间,调整当前的时的时间
				hours = hours + minutes / 12;
			//时针:
				content.beginPath();
				content.lineWidth = 5;
				content.save();
				content.translate(100,100);
				content.rotate(hours*30*Math.PI/180);
				content.moveTo(0,10);
				content.lineTo(0,-60)
				content.stroke();
				content.restore();
				content.closePath();
			//分针:
				content.beginPath();
				content.lineWidth = 3;
				content.save();
				content.translate(100,100);
				content.rotate(minutes*6*Math.PI/180);
				content.moveTo(0,10);
				content.lineTo(0,-70)
				content.stroke();
				content.restore();
				content.closePath();
			//秒针:		
				content.beginPath();
				content.lineWidth = 1;
				content.save();
				content.translate(100,100);
				content.rotate(seconds*6*Math.PI/180);
				content.moveTo(0,10);
				content.lineTo(0,-80)
				content.stroke();
				content.restore();
				content.closePath();
			
			}
			
			setInterval(cloc,1000);
		}	
		</script>
	</body>

</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值