用HTML5怎样写个时钟,代码是什么
Admin 2022-08-24 群英技术资讯 333 次浏览
1 <!doctype html> 2 <meta charset="UTF-8"> 3 <html> 4 <header></header> 5 <body> 6 7 <!--canvas标签画圆--> 8 <canvas id="canvas" width="500" height="500"> 9 您的浏览器不支持canvas标签,无法看到时钟 10 </canvas> 11 <script> 12 13 function drawClock(){ 14 15 //获取画布 16 var canvas=document.getElementById('canvas'); 17 //创建context 对象 18 var cxt=canvas.getContext("2d"); 19 //清除画布 20 cxt.clearRect(0,0,500,500); 21 var now =new Date(); 22 var sec=now.getSeconds(); 23 var min=now.getMinutes(); 24 var hour=now.getHours(); 25 //小时必须获取浮点类型(小时+分数转化成的小时) 26 hour=hour+min/60; 27 //问题 19:23:30 28 //将24小时进制转换为12小时 29 hour=hour>12?hour-12:hour; 30 //刻度盘 31 //设置画线的宽度 32 cxt.lineWidth=10; 33 //设置笔触的颜色 34 cxt.strokeStyle="blue"; 35 //开始路径 36 cxt.beginPath(); 37 //arc(x轴,y轴,半径,开始的度数,结束度数,是否顺时针); 38 cxt.arc(250,250,200,0,180,false); 39 //进行绘制 40 cxt.stroke(); 41 //结束路径 42 cxt.closePath(); 43 //时刻度 44 for(var i=0;i<12;i++){ 45 //需要在异次元空间所有要保存画布 46 cxt.save(); 47 //设置是真时针的宽度 48 cxt.lineWidth=7; 49 //设置时针的颜色 50 cxt.strokeStyle="#000"; 51 //先设置0,0点 52 cxt.translate(250,250); 53 //在设置旋转的角度(弧度=角度*π/180) 54 cxt.rotate(i*30*Math.PI/180);//角度*Math.PI/180=弧度,时针的间隔是30度 55 //开始路径 56 cxt.beginPath(); 57 //时针移动点 58 cxt.moveTo(0,-170); 59 //时针移动到 60 cxt.lineTo(0,-190); 61 //时针停止移动 62 cxt.closePath(); 63 cxt.stroke(); 64 cxt.restore(); 65 66 67 } 68 //秒刻度 69 for(var i=0;i<60;i++){ 70 //需要在异次元空间所有要保存画布 71 cxt.save(); 72 //设置是真时针的宽度 73 cxt.lineWidth=4; 74 //设置时针的颜色 75 cxt.strokeStyle="#000"; 76 //先设置0,0点 77 cxt.translate(250,250); 78 //在设置旋转的角度(弧度=角度*π/180) 79 cxt.rotate(i*6*Math.PI/180);//角度*Math.PI/180=弧度秒针的间隔是6度 80 //开始路径 81 cxt.beginPath(); 82 //时针移动点 83 cxt.moveTo(0,-180); 84 //时针移动到 85 cxt.lineTo(0,-190); 86 //时针停止移动 87 cxt.closePath(); 88 cxt.stroke(); 89 cxt.restore(); 90 91 } 92 //时针 93 94 //需要在异次元空间保存所有画布 95 cxt.save(); 96 //设置时针的宽度 97 cxt.lineWidth=10; 98 //设置时针的颜色 99 cxt.strokeStyle="#000"; 100 //先设置0,0点 101 cxt.translate(250,250); 102 //设置选择弧度 103 cxt.rotate(hour*30*Math.PI/180);//角度*Math.PI/180=弧度秒针的间隔是6度 104 //开始路径 105 cxt.beginPath(); 106 //时针移动点 107 cxt.moveTo(0,0); 108 //时针移动到 109 cxt.lineTo(0,-150); 110 //时针停止移动 111 cxt.closePath(); 112 cxt.stroke(); 113 cxt.restore(); 114 115 //分针 116 117 //需要在异次元空间保存所有画布 118 cxt.save(); 119 //设置分针的宽度 120 cxt.lineWidth=5; 121 //设置分针的颜色 122 cxt.strokeStyle="#000"; 123 //先设置0,0点 124 cxt.translate(250,250); 125 //设置旋转弧度 126 cxt.rotate(min*30*Math.PI/180);//角度*Math.PI/180=弧度分针的间隔是6度 127 //开始路径 128 cxt.beginPath(); 129 //时针移动点 130 cxt.moveTo(0,-150); 131 //时针移动到 132 cxt.lineTo(0,10); 133 //时针停止移动 134 cxt.closePath(); 135 cxt.stroke(); 136 cxt.restore(); 137 //秒针 138 //需要在异次元空间中所有需要保存画布 139 cxt.save(); 140 //设置分针的宽度 141 cxt.lineWidth=4; 142 //设置秒针的颜色 143 cxt.stroeStyle="red"; 144 //先设置00点 145 cxt.translate(250,250); 146 //设置旋转角度角度的公式为角度*Math.PI/180 147 cxt.rotate(sec*6*Math.PI/180); 148 //时针开始移动 149 cxt.beginPath(); 150 cxt.moveTo(0,-150); 151 cxt.lineTo(0,10); 152 //时针停止移动 153 cxt.closePath(); 154 cxt.stroke(); 155 //回到上一个状态,即 ctx.fillStyle="white"; 156 cxt.restore(); 157 158 //使用setInterval(代码,毫秒时间) 让时钟动起来 159 } 160 drawClock(); 161 setInterval(drawClock,1000); 162 163 </script> 164 165 </body> 166 </html>
效果图:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了css3一个简易的 LED 数字时钟实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了使用Rem布局实现自适应,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
方法:1、给图片元素添加“transform:scale(横向缩放值,竖向缩放值)”样式将图片放大;2、利用overflow属性将图片元素放大后溢出的部分隐藏起来,语法为“图片元素的父元素{overflow:hidden;}”。
在css中,可以利用“z-index”属性让元素的层级最高,该属性的作用就是设置元素的堆叠顺序,拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面,也就是元素的层级最高,语法为“元素{z-index:number;}”。
这篇文章主要介绍了2分钟教你实现环形/扇形菜单(基础版),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008