Html5学习--------canvas编写简单钟表
2012-10-27 01:13
417 查看
<!doctype> <html> <head> <meta charset="utf-8" /> <style> body{background-color:Blue;} #showCanvas{background-color:white;} </style> <script type="text/javascript" > window.onload = function () { var canvasElt = document.getElementById("showCanvas"); function clockdrow() { if (canvasElt && canvasElt.getContext) { var canvasContext = canvasElt.getContext("2d"); //定义圆心和半径 var x = 200; var y = 200; var r = 150; //获取时间 var oDate = new Date(); var oHour = oDate.getHours(); var oMinute = oDate.getMinutes(); var oSecond = oDate.getSeconds(); //画表盘上的分钟刻度 canvasContext.clearRect(0, 0, canvasContext.width, canvasContext.height) canvasContext.beginPath(); for (var i = 0; i < 60; i++) { canvasContext.moveTo(x, y); canvasContext.arc(x, y, r, 6 * i * Math.PI / 180, 6 * (i + 1) * Math.PI / 180, false); } canvasContext.closePath(); canvasContext.stroke(); canvasContext.beginPath(); canvasContext.fillStyle = "white"; for (var i = 0; i < 60; i++) { canvasContext.moveTo(x, y); canvasContext.arc(x, y, r * 19 / 20, 6 * i * Math.PI / 180, 6 * (i + 1) * Math.PI / 180, false); } canvasContext.closePath(); canvasContext.fill(); //画时针刻度 canvasContext.beginPath(); canvasContext.lineWidth = 3; for (var i = 0; i < 12; i++) { canvasContext.moveTo(x, y); canvasContext.arc(x, y, r, 30 * i * Math.PI / 180, 30 * (i + 1) * Math.PI / 180, false); } canvasContext.closePath(); canvasContext.stroke(); canvasContext.beginPath(); canvasContext.fillStyle = "white"; for (var i = 0; i < 60; i++) { canvasContext.moveTo(x, y); canvasContext.arc(x, y, r * 18 / 20, 6 * i * Math.PI / 180, 6 * (i + 1) * Math.PI / 180, false); } canvasContext.closePath(); canvasContext.fill(); //时针所在位置 canvasContext.beginPath(); canvasContext.lineWidth = 4; canvasContext.moveTo(x, y); canvasContext.arc(x, y, r * 10 / 20, (-90 + oHour * 30 + oMinute / 2) * Math.PI / 180, (-90 + oHour * 30 + oMinute / 2) * Math.PI / 180, false); canvasContext.closePath(); canvasContext.stroke(); //分针所在位置 canvasContext.beginPath(); canvasContext.lineWidth = 2; canvasContext.moveTo(x, y); canvasContext.arc(x, y, r * 14 / 20, (-90 + oMinute * 6) * Math.PI / 180, (-90 + oMinute * 6) * Math.PI / 180, false); canvasContext.closePath(); canvasContext.stroke(); //秒针所在位置 canvasContext.beginPath(); canvasContext.moveTo(x, y); canvasContext.arc(x, y, r * 17 / 20, (-90 + oSecond * 6) * Math.PI / 180, (-90 + oSecond * 6) * Math.PI / 180, false); canvasContext.closePath(); canvasContext.stroke(); } else { alert("您的浏览器器不支持canvas,请升级浏览器!"); } } //让表动起来 setInterval(clockdrow, 1000) clockdrow(); } </script> </head> <body> <canvas id="showCanvas" width="400px" height="400px" style="border:1px dotted"></canvas> </body> </html>
相关文章推荐
- DayDayUP之HTML5学习笔记五---Canvas简单的使用
- 【猪猪-前端】微信打飞机高质量Demo,学习HTML5+Canvas技术编写,下载即可使用,注释齐全。
- 学习笔记:HTML5 Canvas绘制简单图形
- html5学习笔记二:利用canvas绘制简单图形
- Struts 1 学习笔记-5-2(编写一个简单的支持I18N的登录系统)
- 利用 html5 canvas 简单绘制折线图
- Cocos2d-HTML5游戏引擎,编写一个简单的打飞机游戏
- html5的画布canvas――画出简单的矩形、三角形实例代码
- Html5 canvas学习3-文本 投影
- 【HTML5】HTML5 高级程序设计 学习笔记2 canvas
- html5-- canvas---(简单了解及记录)
- 一起用HTML5 canvas做一个简单又骚气的粒子引擎
- html5 canvas学习--缩放图形
- 【Bugly干货分享】一起用 HTML5 Canvas 做一个简单又骚气的粒子引擎
- HTML5学习(六)---------SVG 与Canvas
- ROS学习--(十二)编写一个简单的发布器(publisher)
- 【HTML5 canvas】关于canvas标签的理解和简单应用
- [HTML5] Canvas绘制简单形状
- 学习python 第三季:编写简单简单连接数据库并执行查询操作
- Html5 Canvas+Javascript实现一个简单画图程序(三)