文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么在html5中实现一个时钟功能

2023-06-09 21:19

关注

这期内容当中小编将会给大家带来有关怎么在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中实现一个时钟功能了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯