Js用Canvas实现简单时钟
2017-08-11 15:23
726 查看
才开始学习canvas,利用canvas的实现了简单的时钟。效果图如下:
思路如下:
利用
Created with Raphaël 2.1.0startcaculate hand angle clear Canvas draw panel draw text draw hands end
源代码如下:
思路如下:
利用
setInterval()注册每隔1秒触发的画钟事件。
drawClock()流程图如下:
Created with Raphaël 2.1.0startcaculate hand angle clear Canvas draw panel draw text draw hands end
源代码如下:
<!DOCTYPE html> <html> <head> <title>clock</title> <style type="text/css"> canvas { position: absolute; margin: -100px; top: 50%; left: 50%; } </style> </head> <body> <canvas id="clock" width="200px" height="200px">This is a clock</canvas> <script type="text/javascript"> //clock var drawing = document.querySelector('#clock'); var context = drawing.getContext('2d'); var drawClock = function () { var time = new Date(); var second = time.getSeconds(); var minute = time.getMinutes(); var hour = time.getHours(); var secondhandAngle = second * Math.PI / 30; var minutehandAngle = minute * Math.PI / 30; var hourhandAngle = hour * Math.PI / 12; //clear canvas context.clearRect(0, 0, 200, 200); //begin draw context.beginPath(); //draw panel context.arc(100, 100, 100, 99, 0, 2 * Math.PI, false); context.moveTo(194, 100); context.arc(100, 100, 94, 0, 2 * Math.PI, false); //draw text context.font = "bold 14px Consolar"; context.textAlign = 'center'; context.textBaseline = 'middle'; context.fillText('12', 100, 20); context.fillText('3', 180, 100); context.fillText('6', 100, 180); context.fillText('9', 20, 100); //draw second hand context.moveTo(100, 100); context.lineTo(100 + 80 * Math.sin(secondhandAngle), 100 - 80 * Math.cos(secondhandAngle)); //draw minute hand context.moveTo(100, 100); context.lineTo(100 + 65 * Math.sin(minutehandAngle), 100 - 65 * Math.cos(minutehandAngle)); //draw hour hand context.moveTo(100, 100); context.lineTo(100 + 50 * Math.sin(hourhandAngle), 100 - 50 * Math.cos(hourhandAngle)); //complete draw context.stroke(); }; setInterval(drawClock, 1000); </script> </body> </html>
相关文章推荐
- 【JS每日练习】简单时钟的实现
- 简单的js实现网页时钟
- Canvas基础学习(一)——实现简单时钟显示
- JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
- JS+html5 canvas实现的简单绘制折线图效果示例
- js实现简单的秒表走动的时钟特效
- js+canvas实现简单绘图
- html2canvas 实现纯JS网页截图简单例子
- JS实现简单的Canvas画图实例
- js+html5实现canvas绘制简单矩形的方法
- 仿智能社官网:原生JS实现简单又酷炫的3D立方体时钟
- JS+HTML5 Canvas实现简单的写字板功能示例
- html2canvas 实现纯JS网页截图简单例子
- 1.使用canvas实现一个简单的时钟
- js实现简单的时钟
- js实现简单的秒表走动的时钟特效
- js数字滑动时钟的简单实现(示例讲解)
- Web开发之html2canvas 实现纯JS网页截图简单例子
- (难度:13%)js里面的canvas实现时钟
- js+html5实现canvas绘制网页时钟的方法