HTML5动态时钟
来源:互联网 发布:阿尔法狗算法 编辑:程序博客网 时间:2024/06/06 05:09
HTML5动态时钟
效果图
这里无法实时显示当前时间,可以看我这篇博客。
原理
先打上html5中的canvas标签,它定义了一块画布,可以用javascript在上前面做动态效果。调用浏览器内置对象window的setInterval(animate,delay)方法,可以实现每隔delay时间调用一次自定义的animate方法,从而达到动态的效果。
代码实现
```javascript<body><canvas id="mycanvas" width="500" height="500" style="background: #B0D141"></canvas><script> var mycanvas = document.getElementById("mycanvas"); var context = mycanvas.getContext("2d"); function drawClock() { //每次调用函数都要对指定区域清屏 context.clearRect(0, 0, 500, 500); var date = new Date(); var hour = date.getHours(); var min = date.getMinutes(); var sec = date.getSeconds(); hour = (hour >= 12) ? hour - 12 : hour; hour = hour + min / 60; min = min + sec / 60; //画圆 context.lineWidth=10; context.strokeStyle='#000'; context.beginPath(); context.arc(250, 250, 200, 0, 360, false); context.closePath(); context.stroke(); //画时刻度 for (var i = 0; i < 12; i++) { context.save(); context.strokeStyle='black'; context.beginPath(); context.translate(250, 250); context.rotate(i * 30 * Math.PI / 180); context.beginPath(); context.moveTo(0, -190); context.lineTo(0, -170); context.closePath(); context.stroke(); context.restore(); } //画分刻度 context.beginPath(); for (var i = 0; i < 60; i++) { context.save(); context.strokeStyle='black'; context.beginPath(); context.translate(250, 250); context.rotate(i * 6 * Math.PI / 180); context.moveTo(0, -190); context.lineTo(0, -180); context.closePath(); context.stroke(); context.restore(); } //画时针 context.save(); context.lineWidth=12; context.beginPath(); context.translate(250, 250); context.rotate(hour * Math.PI * 30 / 180); context.moveTo(0, -135); context.lineTo(0, 10); context.closePath(); context.stroke(); context.restore(); //画分针 context.save(); context.lineWidth=8; context.beginPath(); context.translate(250, 250); context.rotate(min * Math.PI * 6 / 180); context.moveTo(0, -160); context.lineTo(0, 10); context.closePath(); context.stroke(); context.restore(); //画秒针 context.save(); context.lineWidth=5; context.strokeStyle='red'; context.beginPath(); context.translate(250, 250); context.rotate(sec * Math.PI * 6 / 180); context.moveTo(0, -182); context.lineTo(0, 16); context.closePath(); context.stroke(); context.restore(); } setInterval(drawClock, 1000); </script> <body/>
“`
后记
没想到markdown还能支持javascript。这样以后可以通过类似的方法在blog中用js做动态效果了。
0 0
- HTML5动态时钟
- HTML5 时钟
- HTML5时钟
- HTML5时钟
- html5 时钟
- html5 时钟
- 动态时钟
- 动态时钟
- 动态时钟
- 动态时钟
- HTML5之时钟
- HTML5画时钟
- HTML5 CANVAS 时钟
- HTML5 canvas 可拖拽时钟
- html5-canvas-时钟
- HTML5时钟代码
- HTML5 canvas时钟
- Html5 Canvas 绘制 时钟
- hd 1326 Box of Bricks
- vim系统剪切板
- dsp调试-----2
- 我的理财经
- Linux设备驱动--块设备(四)之“自造请求”
- HTML5动态时钟
- Flex 非常实用的资料
- 【机器学习】LFM(Latent Factor Model)
- ubuntu用mentohust连接ruijie
- Android应用 猜猜歇后语
- 选择排序
- 关于linux命令ipcs--自学
- 利用log4mongo-java+mongodb复制集搭建java日志系统
- ucontext-人人都可以实现的简单协程库