<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Canvas</title>
<script type="text/javascript" src="jQuery.js"></script>
</head>
<style type="text/css">
body {
padding: 0;
margin: 0;
background: black;
}
#canvas {
background: white;
margin: 100px 0 0 300px;
}
#canvas>span {
color: white;
font-size: 14px;
}
</style>
<body>
<canvas id="canvas" width="600" height="500">
<span>您的浏览器不支持</span>
</canvas>
</body>
</html>
<script type="text/javascript">
/*获取绘制环境*/
var oc = $('#canvas')[0];
canvas = oc.getContext('2d');
/*定义圆心和半径*/
var x = 250, y = 250, r = 150; var time = setInterval(function() {
ClocksWatche();
}, 1000); function ClocksWatche() {
/*清理画布*/
canvas.clearRect(0, 0, oc.width, oc.height);
/*开始绘制*/
canvas.beginPath();
for(var i = 0; i < 60; i++) {
/*绘制起始点移到圆心*/
canvas.moveTo(x, y);
/*根据圆心和半径每6度绘制一次(圆心横坐标,圆心纵坐标,其实弧度,结束弧度,是否逆时针)*/
canvas.arc(x, y, r, 6 * i * Math.PI / 180, 6 * (i + 1) * Math.PI / 180, false);
}
/*连接至起始点*/
canvas.closePath();
/*画线*/
canvas.stroke();
/*设置线的粗细*/
canvas.lineWidth = 3;
/*开始绘制*/
canvas.beginPath();
for(var i = 0; i < 60; i++) {
/*绘制起始点移到圆心*/
canvas.moveTo(x, y);
/*根据圆心和半径没30度绘制一次*/
canvas.arc(x, y, r, 30 * i * Math.PI / 180, 30 * (i + 1) * Math.PI / 180, false);
}
/*连接至起始点*/
canvas.closePath();
/*画线*/
canvas.stroke();
/*设置填充颜色*/
canvas.fillStyle = 'white';
canvas.beginPath();
canvas.moveTo(x, y);
canvas.arc(x, y, r * 14 / 15, 0, 360, false);
canvas.closePath();
canvas.fill(); var loacalDate = new Date();
var hours = loacalDate.getHours();
var minute = loacalDate.getMinutes();
var sencond = loacalDate.getSeconds();
hours = (hours * 30 - 90 + minute / 2) * Math.PI / 180;
minute = (minute * 6 - 90) * Math.PI / 180;
sencond = (sencond * 6 - 90) * Math.PI / 180; canvas.beginPath();
canvas.lineWidth = 5;
canvas.moveTo(x, y);
canvas.arc(x, y, r * 8 / 15, hours, hours, false);
canvas.stroke(); canvas.beginPath();
canvas.lineWidth = 3;
canvas.moveTo(x, y);
canvas.arc(x, y, r * 10 / 15, minute, minute, false);
canvas.stroke(); canvas.beginPath();
canvas.lineWidth = 1;
canvas.moveTo(x, y);
canvas.arc(x, y, r * 14 / 15, sencond, sencond, false);
canvas.stroke();
}
</script>

最新文章

  1. WordPress数据库优化技巧
  2. 1、基于MFC的OpenGL程序
  3. Bootstrap 固定定位(Affix)
  4. 《BI那点儿事》数据流转换——导入列、导出列
  5. HDU 2899 Strange fuction 【三分】
  6. 第十四章:Annotation(注释)
  7. 膜拜(codevs 3369)
  8. 转载:mybatis自动生成
  9. 优化Android应用内存的若干方法
  10. (转)JS获取当前对象大小以及屏幕分辨率等
  11. 【repost】如何学好编程 (精挑细选编程教程,帮助现在在校学生学好编程,让你门找到编程的方向)四个方法总有一个学好编程的方法适合你
  12. vue + vuex 表单处理
  13. 杭州电 1372 Knight Moves(全站搜索模板称号)
  14. [转]Linux Shell History (快速使用Linux命令)
  15. 432B - Football Kit
  16. 多模块分布式系统的简单服务访问 - OSGI原形(.NET)
  17. ural1316 Electronic Auction
  18. css补充
  19. Salesforce Lightning开发学习(二)Component组件开发实践
  20. mysql-8.0.11安装步骤

热门文章

  1. 数据仓库专题(21):Kimball总线矩阵说明-官方版
  2. xftp找不到匹配的outgoing encryption 算法 怎么解决
  3. ALGO-9_蓝桥杯_算法训练_摆动序列(DP)
  4. bzoj5020: [THUWC 2017]在美妙的数学王国中畅游
  5. Java学习——多线程例子:李四王五
  6. hasClass() removeClass() addClass()
  7. jdbi
  8. 【架构师之路】集群/分布式环境下5种session处理策略
  9. 修改了jdk在环境变量中的路径怎么cmd中的jdk版本没有变
  10. MySQL MHA 搭建&amp;测试(环境:CentOS7 + MySQL5.7.23)