首页 > web前端 > H5教程 > 正文

使用canvas绘制超炫时钟_html5教程技巧

php中文网
发布: 2016-05-16 15:47:05
原创
1681人浏览过

先上效果图:


复制代码
代码如下:





canvas钟表





如果你看到这段文字,说明你的浏览器弱爆了!
<script><br />window.onload=draw;<br />function draw() {<br />var canvas=document.getElementById('canvas');<br />var context=canvas.getContext('2d');<br />context.save(); ///////////////////////////////////保存<br />context.translate(200,200);<br />var deg=2*Math.PI/12; <br />//////////////////////////////////////////////////表盘<br />context.save(); <br />context.beginPath(); <br />for(var i=0;i<13;i++){<br />var x=Math.sin(i*deg);<br />var y=-Math.cos(i*deg);<br />context.lineTo(x*150,y*150); <br />}<br />var c=context.createRadialGradient(0,0,0,0,0,130);<br />c.addColorStop(0,"#22f");<br />c.addColorStop(1,"#0ef")<br />context.fillStyle=c;<br />context.fill();<br />context.closePath(); <br />context.restore(); <br />//////////////////////////////////////////////////数字<br />context.save();<br />context.beginPath();<br />for(var i=1;i<13;i++){<br />var x1=Math.sin(i*deg);<br />var y1=-Math.cos(i*deg);<br />context.fillStyle="#fff";<br />context.font="bold 20px Calibri";<br />context.textAlign='center';<br />context.textBaseline='middle';<br />context.fillText(i,x1*120,y1*120); <br />}<br />context.closePath(); <br />context.restore(); <br />//////////////////////////////////////////////////大刻度<br />context.save();<br />context.beginPath(); <br />for(var i=0;i<12;i++){<br />var x2=Math.sin(i*deg);<br />var y2=-Math.cos(i*deg);<br />context.moveTo(x2*148,y2*148);<br />context.lineTo(x2*135,y2*135); <br />} <br />context.strokeStyle='#fff';<br />context.lineWidth=4;<br />context.stroke();<br />context.closePath();<br />context.restore(); <br />//////////////////////////////////////////////////小刻度<br />context.save();<br />var deg1=2*Math.PI/60;<br />context.beginPath(); <br />for(var i=0;i<60;i++){<br />var x2=Math.sin(i*deg1);<br />var y2=-Math.cos(i*deg1);<br />context.moveTo(x2*146,y2*146);<br />context.lineTo(x2*140,y2*140); <br />} <br />context.strokeStyle='#fff';<br />context.lineWidth=2;<br />context.stroke();<br />context.closePath(); <br />context.restore(); <br />///////////////////////////////////////////////////文字<br />context.save();<br />context.strokeStyle="#fff";<br />context.font=' 34px sans-serif';<br />context.textAlign='center';<br />context.textBaseline='middle';<br />context.strokeText('canvas',0,65); <br />context.restore(); <br />/////////////////////////////////////////////////new Date<br />var time=new Date();<br />var h=(time.getHours()%12)*2*Math.PI/12;<br />var m=time.getMinutes()*2*Math.PI/60;<br />var s=time.getSeconds()*2*Math.PI/60; <p>////////////////////////////////////////////////时针<br />context.save();<br />context.rotate( h + m/12 + s/720) ;<br />context.beginPath();<br />context.moveTo(0,6);<br />context.lineTo(0,-85);<br />context.strokeStyle="#fff";<br />context.lineWidth=6;<br />context.stroke();<br />context.closePath();<br />context.restore();<br />//////////////////////////////////////////////分针<br />context.save();<br />context.rotate( m+s/60 ) ;<br />context.beginPath();<br />context.moveTo(0,8);<br />context.lineTo(0,-105);<br />context.strokeStyle="#fff";<br />context.lineWidth=4;<br />context.stroke();<br />context.closePath();<br />context.restore();<br />/////////////////////////////////////////////秒针<br />context.save();<br />context.rotate( s ) ;<br />context.beginPath();<br />context.moveTo(0,10);<br />context.lineTo(0,-120);<br />context.strokeStyle="#fff";<br />context.lineWidth=2;<br />context.stroke();<br />context.closePath();<br />context.restore(); <br />context.restore();/////////////////////////////栈出<br />setTimeout(draw, 1000);/////////////////////////////计时器 <p>} <p></script>


立即学习前端免费学习笔记(深入)”;

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号