纯JS+html5新标签canvas绘制与本地时间同步时针

本文介绍了一个使用HTML5 canvas元素实现的动态时间同步的时钟,通过JavaScript实时更新时间并绘制到画布上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
  <style>
  body{background:black;}
  #c1{background:white;}
  </style>
  <script>
  window.onload = function(){
    var oc = document.getElementById('c1');//
    var ogc=oc.getContext('2d');//
    function toDraw(){
       var x = 200;
       var y = 200;
       var r = 150;
     ogc.clearRect(0,0,oc.width,oc.height);//
       var odate=new Date();
       var ohours=odate.getHours();//
       var omin=odate.getMinutes();//
       var osec=odate.getSeconds();//
       var ohoursvalue=(-90+ohours*30+omin/2)*Math.PI/180;//
       var ominvalue=(-90+omin*6)*Math.PI/180;//
       var osecvalue=(-90+osec*6)*Math.PI/180;//
     /*ogc.moveTo(x,y);
     ogc.arc(x,y,r,0,6*Math.PI/180,12*Math.PI/180,false);*/
     ogc.beginPath();// for606
        for(var i=0;i<60;i++){
          ogc.moveTo(x,y);//
          ogc.arc(x,y,r,6*i*Math.PI/180,6*(i+1)*Math.PI/180,false);
        }
     ogc.closePath();//601
     ogc.stroke();//
     ogc.fillStyle="white";//19/20 2
     ogc.beginPath();
     ogc.moveTo(x,y);
     ogc.arc(x,y,r*19/20,0,360*(i+1)*Math.PI/180,false);
     ogc.closePath();
     ogc.fill();
    
    ogc.lineWidth="4";
    ogc.beginPath();// for1230
        for(var i=0;i<12;i++){
          ogc.moveTo(x,y);//
          ogc.arc(x,y,r,30*i*Math.PI/180,30*(i+1)*Math.PI/180,false);
        }
     ogc.closePath();//123
     ogc.stroke();
 
     
    
     ogc.fillStyle="white";//19/20 4
     ogc.beginPath();
     ogc.moveTo(x,y);
     ogc.arc(x,y,r*18/20,0,360*(i+1)*Math.PI/180,false);
     ogc.closePath();
     ogc.fill();
     ogc.lineWidth="5";//线
     ogc.beginPath();
     ogc.moveTo(x,y);
     ogc.arc(x,y,r*10/20,ohoursvalue,ohoursvalue,false);// oohoursvalue
     ogc.closePath();//
     ogc.stroke();
     ogc.lineWidth="3";
     ogc.beginPath();
     ogc.moveTo(x,y);
     ogc.arc(x,y,r*14/20,ominvalue,ominvalue,false);// ominvalue
     ogc.closePath();//
     ogc.stroke();
     ogc.lineWidth="1";
     ogc.beginPath();
     ogc.moveTo(x,y);
     ogc.arc(x,y,r*19/20,osecvalue,osecvalue,false);// osecvalue
     ogc.closePath();//
     ogc.stroke();
     }
     setInterval(toDraw,1000);// toDraw 
    toDraw();//
  };
  </script>
 </head>
 <body>
  <canvas id="c1" width="400" height="400"></canvas><!---->
 </body>
</html>
 
图片

图片

图片

图片

图片

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值