怎么在JavaScript中使用Canvas绘制一个圆形时钟效果-创新互联

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

创新互联建站专业为企业提供柳城网站建设、柳城做网站、柳城网站设计、柳城网站制作等企业网站建设、网页设计与制作、柳城企业网站模板建站服务,十载柳城做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

具体内容如下

 
 
  
  
  
  
 
  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); 
  
 
 
 
 

效果图:

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

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

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:怎么在JavaScript中使用Canvas绘制一个圆形时钟效果-创新互联
文章地址:http://ybzwz.com/article/dshipd.html