温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在JavaScript中使用Canvas绘制一个圆形时钟效果

发布时间:2021-03-10 16:49:49 来源:亿速云 阅读:170 作者:Leah 栏目:web开发

今天就跟大家聊聊有关怎么在JavaScript中使用Canvas绘制一个圆形时钟效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

具体内容如下

<html lang="en">  <head>   <meta charset="UTF-8">   <title></title>   <style>    canvas{     display: block;     margin: 0 auto;     background-color: #fdffad;     border: 1px solid #000;    }   </style>   <script type="text/javascript">      document.addEventListener('DOMContentLoaded',function(){     var oC=document.querySelector('canvas');     var gd=oC.getContext('2d');     var r=oC.width/2;       function drawBackground() {      gd.save();      //渐变        var ra = gd.createLinearGradient(600, 0, 400, 0);      ra.addColorStop(1, '#2dd9ff');      ra.addColorStop(0, '#8c48dd');        //表盘      gd.translate(r, r);      gd.beginPath();      gd.fillStyle = ra;      gd.lineWidth = 10;      gd.strokeStyle = '#211f4e';      gd.arc(0, 0, r-5, 0, Math.PI *2, false);      gd.fill();      gd.stroke();      //数字      for (var i = 1; i < 13; i++) {       var rad=i * Math.PI * 2 / 12;       var x = Math.sin(rad)*(r-70);       var y= -Math.cos(rad)*(r-70);       gd.fillStyle = "red";       gd.font = "bold 80px Calibri";       gd.lineWidth = 1;       gd.textAlign = 'center';       gd.textBaseline = 'middle';       gd.strokeText(i, x, y);      }      //点      for (var i = 0; i < 60; i++) {       gd.beginPath();       var rad=i * Math.PI * 2 / 60;       var x = Math.sin(rad)*(r-30);       var y= -Math.cos(rad)*(r-30);       if (i % 5 == 0) {        gd.fillStyle = 'red';       }       else {        gd.fillStyle = '#ccc'       }       gd.lineWidth = 2;       gd.arc(x, y, 6, 0, Math.PI * 2, false);       gd.fill();       gd.stroke();       gd.closePath();      }     }     //时针     function drawHour(h,m){      gd.save();      gd.beginPath();      var rad=2*Math.PI/12*h;      var mrad=2*Math.PI/12/60*m;      gd.rotate(rad+mrad);      gd.lineWidth=20;      gd.lineCap='round';      gd.moveTo(0,10);      gd.lineTo(0,-r/3);      gd.stroke();      gd.closePath();      gd.restore();     }     //分针     function drawMinutes(m){      gd.save();      gd.beginPath();      var rad=2*Math.PI/60*m;      gd.rotate(rad);      gd.lineWidth=10;      gd.lineCap='round';      gd.moveTo(0,10);      gd.lineTo(0,-r/2);      gd.stroke();      gd.closePath();      gd.restore();     }     //秒针     function drawSeconds(s){      gd.save();      gd.beginPath();      var rad=2*Math.PI/60*s;      gd.rotate(rad);      gd.fillStyle='red';      gd.moveTo(-2,20);      gd.lineTo(2,20);      gd.lineTo(1,-r+100);      gd.lineTo(-1,-r+100);      gd.fill();      gd.closePath();      gd.restore();     }     //圆点     function drawPoint(){      gd.beginPath();      gd.fillStyle='#fff';      gd.arc(0,0,5,Math.PI*2,false);      gd.fill();     }       function drawClock(){      gd.clearRect(0,0,oC.width,oC.height);      var oDate=new Date();      var h=oDate.getHours();      var m=oDate.getMinutes();      var s=oDate.getSeconds();      drawBackground();      drawHour(h,m);      drawMinutes(m);      drawSeconds(s);      drawPoint();      gd.restore();       }     drawClock();     setInterval(drawClock,1000);    },false);   </script>  </head>  <body>  <canvas width="800" height="800"></canvas>  </body>  </html>

效果图:

怎么在JavaScript中使用Canvas绘制一个圆形时钟效果

看完上述内容,你们对怎么在JavaScript中使用Canvas绘制一个圆形时钟效果有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI