码迷,mamicode.com
首页 > 其他好文 > 详细

时钟demo

时间:2016-02-01 18:54:21      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8" />
<title></title>
<!--<script src="js/jquery.min.js" type="text/javascript" charset="utf-8"></script>-->
<style type="text/css">
* {
padding: 0;
margin: 0;
}

.box {
background: blue;
width: 100px;
height: 100px;
}
</style>

</head>

<body>
<canvas id="myCanvas" width="1000" height="1000"></canvas>

<script type="text/javascript">
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
var hours, minutes, seconds;
ctx.translate(250, 250);

function drawTime() {
ctx.clearRect(-250, -250, 1000, 1000);
var now = new Date();
hours = now.getHours();
minutes = now.getMinutes();
seconds = now.getSeconds();
hours = hours > 12 ? hours - 12 : hours;
hours += minutes / 60;
minutes += seconds / 60;
ctx.strokeStyle = "#0000FF"
ctx.lineWidth = 10;
ctx.beginPath();
ctx.arc(0, 0, 200, 0, 360, false);
ctx.closePath();
ctx.stroke();
for (var i = 0; i < 12; i++) {
ctx.save();
ctx.beginPath();
ctx.rotate(i * 30 * Math.PI / 180);
ctx.lineWidth = 5;
ctx.strokeStyle = "black";
ctx.moveTo(0, -170);
ctx.lineTo(0, -190);
ctx.closePath();
ctx.stroke();
ctx.restore();
}
for (var i = 0; i < 60; i++) {
ctx.save();
ctx.strokeStyle = "black";
ctx.lineWidth = 2;
ctx.beginPath();
ctx.rotate(i * 6 * Math.PI / 180);
ctx.moveTo(0, -180);
ctx.lineTo(0, -190);
ctx.closePath();
ctx.stroke();
ctx.restore();
}
//时针
ctx.save();
ctx.strokeStyle = "black";
ctx.lineWidth = 5;
ctx.beginPath();
ctx.rotate(hours * 30 * Math.PI / 180);
ctx.moveTo(0, 10);
ctx.lineTo(0, -100);
ctx.stroke();
ctx.closePath();
ctx.restore();
//分针
ctx.save();
ctx.strokeStyle = "black";
ctx.lineWidth = 4;
ctx.beginPath();
ctx.rotate(minutes * 6 * Math.PI / 180);
ctx.moveTo(0, 10);
ctx.lineTo(0, -170);
ctx.stroke();
ctx.closePath();
ctx.restore();
//秒针
ctx.save();
ctx.strokeStyle = "red";
ctx.lineWidth = 2;
ctx.beginPath();
ctx.rotate(seconds * 6 * Math.PI / 180);
ctx.moveTo(0, 10);
ctx.lineTo(0, -170);
ctx.closePath();
ctx.stroke();
//秒针前端小圆圈
ctx.beginPath();
ctx.arc(0, -150, 5, 0, 360, false);
ctx.closePath();
ctx.fillStyle = "white";
ctx.fill();
ctx.stroke();
ctx.restore();
//3针交叉点
ctx.beginPath();
ctx.arc(0, 0, 5, 0, 360, false);
ctx.closePath();
ctx.strokeStyle = "red";
ctx.lineWidth = 2;
ctx.fillStyle = "gray";
ctx.fill();
ctx.stroke();
}
drawTime();
setInterval(drawTime, 1000);
</script>
</body>

</html>

时钟demo

标签:

原文地址:http://www.cnblogs.com/-cj-blog/p/5175788.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!