HTML5元素Canvas实例之钟表
2012-11-23 10:48
399 查看
[代码] HTML5代码
viewsource
print?
001 | <!DOCTYPE html> |
002 | < html > |
003 | < head > |
004 | < script type = "text/javascript" > |
005 | function init(){ |
006 | clock(); |
007 | setInterval(clock,1000); |
008 | } |
009 | function clock(){ |
010 | var now =new Date(); |
011 | var ctx =document.getElementById('canvas').getContext('2d'); |
012 | ctx.save(); |
013 | ctx.clearRect(0,0,150,150); |
014 | ctx.translate(75,75); |
015 | ctx.scale(0.4,0.4); |
016 | ctx.rotate(-Math.PI/2); |
017 | ctx.strokeStyle ="black"; |
018 | ctx.fillStyle ="white"; |
019 | ctx.lineWidth =8; |
020 | ctx.lineCap ="round"; |
021 |
022 | // Hour marks |
023 | ctx.save(); |
024 | for (vari=0;i< 12 ;i++){ |
025 | ctx.beginPath(); |
026 | ctx.rotate(Math.PI/6); |
027 | ctx.moveTo(100,0); |
028 | ctx.lineTo(120,0); |
029 | ctx.stroke(); |
030 | } |
031 | ctx.restore(); |
032 |
033 | // Minute marks |
034 | ctx.save(); |
035 | ctx.lineWidth = 5 ; |
036 | for ( i = 0 ;i<60;i++){ |
037 | if (i%5!=0) { |
038 | ctx.beginPath(); |
039 | ctx.moveTo(117,0); |
040 | ctx.lineTo(120,0); |
041 | ctx.stroke(); |
042 | } |
043 | ctx.rotate(Math.PI/30); |
044 | } |
045 | ctx.restore(); |
046 |
047 | var sec = now .getSeconds(); |
048 | var min = now .getMinutes(); |
049 | var hr = now .getHours(); |
050 | hr = |
051 |
052 | ctx.fillStyle |
053 |
054 | // write Hours |
055 | ctx.save(); |
056 | ctx.rotate( |
057 | ctx.lineWidth |
058 | ctx.beginPath(); |
059 | ctx.moveTo(-20,0); |
060 | ctx.lineTo(80,0); |
061 | ctx.stroke(); |
062 | ctx.restore(); |
063 |
064 | // write Minutes |
065 | ctx.save(); |
066 | ctx.rotate( |
067 | ctx.lineWidth |
068 | ctx.beginPath(); |
069 | ctx.moveTo(-28,0); |
070 | ctx.lineTo(112,0); |
071 | ctx.stroke(); |
072 | ctx.restore(); |
073 |
074 | // Write seconds |
075 | ctx.save(); |
076 | ctx.rotate(sec |
077 | ctx.strokeStyle |
078 | ctx.fillStyle |
079 | ctx.lineWidth |
080 | ctx.beginPath(); |
081 | ctx.moveTo(-30,0); |
082 | ctx.lineTo(83,0); |
083 | ctx.stroke(); |
084 | ctx.beginPath(); |
085 | ctx.arc(0,0,10,0,Math.PI*2,true); |
086 | ctx.fill(); |
087 | ctx.beginPath(); |
088 | ctx.arc(95,0,10,0,Math.PI*2,true); |
089 | ctx.stroke(); |
090 | ctx.fillStyle |
091 | ctx.arc(0,0,3,0,Math.PI*2,true); |
092 | ctx.fill(); |
093 | ctx.restore(); |
094 |
095 | ctx.beginPath(); |
096 | ctx.lineWidth |
097 | ctx.strokeStyle |
098 | ctx.arc(0,0,142,0,Math.PI*2,true); |
099 | ctx.stroke(); |
100 |
101 | ctx.restore(); |
102 | } |
103 |
104 | </ script > |
105 |
106 | </ head > |
107 | < body onload = "init();" > |
108 | < canvas id = "canvas" width = "150" height = "150" ></ canvas > |
109 | </ body > |
110 | </ html > |
相关文章推荐
- HTML5元素Canvas实例之钟表
- [HTML5-Canvas] HTML 5的<canvas>元素教程和实例
- HTML5 Canvas Text实例1
- canvas实现实时钟表代码实例(面向对象编程)
- html5之Canvas坐标变换应用-时钟实例
- 【坑】【实例】【未解决】html5-canvas中实现图片的浮雕效
- 深度剖析IE10对HTML5 Canvas支持及实例教程(一)
- HTML5快速入门实例(三)Canvas自定义画笔样式
- HTML5 progress元素的样式控制、兼容与实例
- HTML5 Canvas+JS控制电脑或手机上的摄像头实例
- Html5 Canvas+JavaScript物理引擎实例
- html5之Canvas坐标变换应用-时钟实例
- html5 canvas实例 绘制变形图形 径向渐变
- JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
- HTML5音频与视频实例(带声音的导航、视频与canvas结合、自制播放器)
- HTML5 Canvas(画布)实战编程初级篇:基本介绍和基础画布元素
- html5 canvas js(数字时钟)实例代码
- HTML5 界面元素 Canvas 参考手册
- HTML5 Canvas 基础API和实例
- html5 canvas绘制圆形进度实例