• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    html5时钟实现代码

    复制代码
    代码如下:

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="UTF-8">
    <style type="text/css">
    canvas{position:absolute;top:0px;left:0px;}
    </style>
    <title>时钟</title>
    </head>
    <body>
    <canvas id="canvas" width="200" height="200"></canvas>
    <canvas id="p_canvas" width="200" height="200"></canvas>
    <script type="text/javascript">
    //获取绘图对象
    var canvas = document.getElementById('canvas');
    var context = canvas.getContext('2d');

    var p_canvas = document.getElementById('p_canvas');
    var p_context = p_canvas.getContext('2d');

    var height=200,width=200;
    //画大圆
    context.beginPath();
    context.strokeStyle="#009999";
    context.arc(width/2,height/2,width/2-1,0,Math.PI*2,true);
    context.stroke();
    context.closePath();
    //画中间点
    context.beginPath();
    context.fillStyle="#000";
    context.arc(width/2,height/2,3,0,Math.PI*2,true);
    context.fill();
    context.closePath();

    //画小刻度
    var angle = 0,radius = width/2 - 4;
    for(var i=0;i<60;i++){
    context.beginPath();
    context.strokeStyle="#000";
    //确认刻度的起始点
    var x = width/2 + radius*Math.cos(angle),y = height/2 + radius*Math.sin(angle);
    context.moveTo(x,y);
    //这里是用来将刻度的另一点指向中心点,并给予正确的角度
    //PI是180度,正确的角度就是 angle+180度,正好相反方向
    var temp_angle = Math.PI +angle;
    context.lineTo(x +3*Math.cos(temp_angle),y+3*Math.sin(temp_angle));
    context.stroke();
    context.closePath();
    angle+=6/180*Math.PI;
    }
    //大刻度
    angle = 0,radius = width/2 - 4;
    context.textBaseline = 'middle';
    context.textAlign = 'center';
    context.lineWidth = 2;
    for(var i=0;i<12;i++){
    var num = i+3>12? i+3-12:i+3 ;
    context.beginPath();
    context.strokeStyle="#FFD700";
    var x = width/2 + radius*Math.cos(angle),y = height/2 + radius*Math.sin(angle);
    context.moveTo(x,y);
    var temp_angle = Math.PI +angle;
    context.lineTo(x +8*Math.cos(temp_angle),y+8*Math.sin(temp_angle));
    context.stroke();
    context.closePath();
    //大刻度 文字
    context.fillText(num,x+16*Math.cos(temp_angle),y+16*Math.sin(temp_angle));
    angle+=30/180*Math.PI;
    }

    function Pointer(){
    var p_type = [['#000',70,1],['#ccc',60,2],['red',50,3]];
    function drwePointer(type,angle){
    type = p_type[type];
    angle = angle*Math.PI*2 - 90/180*Math.PI;
    var length= type[1];
    p_context.beginPath();
    p_context.lineWidth = type[2];
    p_context.strokeStyle = type[0];
    p_context.moveTo(width/2,height/2);
    p_context.lineTo(width/2 + length*Math.cos(angle),height/2 + length*Math.sin(angle));
    p_context.stroke();
    p_context.closePath();

    }
    setInterval(function (){
    p_context.clearRect(0,0,height,width);
    var time = new Date();
    var h = time.getHours();
    var m = time.getMinutes();
    var s = time.getSeconds();
    h = h>12?h-12:h;
    h = h+m/60;
    h=h/12;
    m=m/60;
    s=s/60;
    drwePointer(0,s);
    drwePointer(1,m);
    drwePointer(2,h);
    },500);
    }
    var p = new Pointer();
    </script>
    </body>
    </html>
    上一篇:html5 canvas 使用示例
    下一篇:HTML5 本地存储和内容按需加载的思路和方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    html5时钟实现代码 html5,时钟,实现,代码,html5,