全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

canvas 绘制圆形时钟

效果如下:

代码如下:

<!DOCTYPE html>
<html>
 <head>
 <meta name="viewport" content="width=device-width,initial-scale=1"/>
 <title>canvas clock</title>
 <style type="text/css">
 div{
 text-align: center;
 margin-top: 250px;
 }
 #clock{
 border: 1px solid #ccc;
 }
 </style>
 </head>
 <body>
 <div>
 <canvas id="clock" height="200px" width="200px"></canvas>
 </div>
 <script type="text/javascript">
 var dom=document.getElementById("clock");
   var ctx=dom.getContext("2d");
var width=ctx.canvas.width;
var heigth=ctx.canvas.height;
var r=width/2;
//描绘时分秒小数和小数点
function drawBackground(){
 ctx.save();
 ctx.translate(r,r); //中心原点位置
 ctx.beginPath(); //起始位置
 ctx.lineWidth=10;
 //圆
 ctx.arc(0,0,r-5,0,2*Math.PI,false);
 ctx.stroke();
 var hourNumbers=[3,4,5,6,7,8,9,10,11,12,1,2];
 ctx.font="18px Arial";
 ctx.textAlign="center";
 ctx.textBaseline="middle";
 hourNumbers.forEach(function(number,i){
 var rad=2*Math.PI/12*i;
 var x=Math.cos(rad)*(r-30);
 var y=Math.sin(rad)*(r-30);
 ctx.fillText(number,x,y);
 });
 for (var i=0;i<60;i++) {
 var rad=2*Math.PI/60*i;
 var x=Math.cos(rad)*(r-18);
 var y=Math.sin(rad)*(r-18);
 ctx.beginPath();
 if(i%5===0){
 ctx.fillStyle="#000";
 ctx.arc(x,y,2,2*Math.PI,false);
 }else{
 ctx.fillStyle="#ccc";
 ctx.arc(x,y,2,2*Math.PI,false);
 }
 ctx.fill();
 }
}
//描绘时针
function drawHour(hour,minute){
 ctx.save();
 ctx.beginPath();
 var rad=2*Math.PI / 12 * hour;
 var mrad=2*Math.PI / 12 / 60 * minute;
 ctx.rotate(rad + mrad);
 ctx.lineWidth=6;
 ctx.lineCap="round";
 ctx.moveTo(0,10);
 ctx.lineTo(0,-r/2);
 ctx.stroke();
 ctx.restore();
}
//描绘分针
function drawMinute(minute){
 ctx.save();
 ctx.beginPath();
 var rad=2*Math.PI/60*minute;
 ctx.rotate(rad); 
 ctx.lineWidth=3;
 ctx.lineCap="round";
 ctx.moveTo(0,10);
 ctx.lineTo(0,-r+30);
 ctx.stroke();
 ctx.restore();
}
//描绘秒针
function drawSecond(second){
 ctx.save();
 ctx.beginPath();
 ctx.fillStyle="#C14543";
 var rad=2*Math.PI/60*second;
 ctx.rotate(rad);
 ctx.moveTo(-2,20);
 ctx.lineTo(2,20);
 ctx.lineTo(1,-r+18);
 ctx.lineTo(-1,-r+18)
 ctx.fill();
 ctx.restore(); 
}
//中间固定园点
function drawDot(){
 ctx.beginPath();
 ctx.fillStyle="#fff";
 ctx.arc(0,0,3,0,2*Math.PI,false);
 ctx.fill();
}
function draw(){
 ctx.clearRect(0,0,width,heigth);
 var now=new Date();
 var hour=now.getHours();
 var minute=now.getMinutes();
 var second=now.getSeconds();
 drawBackground();
 drawHour(hour,minute);
 drawMinute(minute);
 drawSecond(second);
 drawDot();
 ctx.restore();
}
draw();
setInterval(draw,1000)
 </script>
 </body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# canvas  # 绘制时钟  # js Canvas绘制圆形时钟效果  # html5 canvas js(数字时钟)实例代码  # javascript结合Canvas 实现简易的圆形时钟  # JS+Canvas绘制时钟效果  # JavaScript html5 canvas绘制时钟效果(二)  # js Canvas实现圆形时钟教程  # JavaScript学习小结之使用canvas画“哆啦A梦”时钟  # canvas仿iwatch时钟效果  # body  # ccc  # solid  # height  # id  # top  # margin  # div  # border  # px  # script  # function  # heigth  # getContext  # translate  # save  # drawBackground  # dom  # var  # javascript 


相关文章: 如何在新浪SAE免费搭建个人博客?  建站之星如何保障用户数据免受黑客入侵?  深圳网站制作平台,深圳市做网站好的公司有哪些?  定制建站方案优化指南:企业官网开发与建站费用解析  如何用已有域名快速搭建网站?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  如何在建站之星网店版论坛获取技术支持?  建站之星如何实现PC+手机+微信网站五合一建站?  教学网站制作软件,学习*后期制作的网站有哪些?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  怎么将XML数据可视化 D3.js加载XML  网站制作软件免费下载安装,有哪些免费下载的软件网站?  公司网站制作价格怎么算,公司办个官网需要多少钱?  建站之星安装路径如何正确选择及配置?  网站制作模板下载什么软件,ppt模板免费下载网站?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  北京网站制作的公司有哪些,北京白云观官方网站?  如何获取上海专业网站定制建站电话?  网站图片在线制作软件,怎么在图片上做链接?  如何快速搭建高效简练网站?  建站之星×万网:智能建站系统+自助建站平台一键生成  如何通过VPS搭建网站快速盈利?  广州美橙建站如何快速搭建多端合一网站?  黑客入侵网站服务器的常见手法有哪些?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  建站之星上传入口如何快速找到?  微信小程序 input输入框控件详解及实例(多种示例)  如何解决ASP生成WAP建站中文乱码问题?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  如何在阿里云虚拟服务器快速搭建网站?  如何快速生成ASP一键建站模板并优化安全性?  中山网站制作网页,中山新生登记系统登记流程?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  建站主机如何选?性能与价格怎样平衡?  深入理解Android中的xmlns:tools属性  C#如何序列化对象为XML XmlSerializer用法  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  魔方云NAT建站如何实现端口转发?  h5在线制作网站电脑版下载,h5网页制作软件?  网站制作费用多少钱,一个网站的运营,需要哪些费用?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  安云自助建站系统如何快速提升SEO排名?  已有域名如何快速搭建专属网站?  ,怎么用自己头像做动态表情包?  电商网站制作公司有哪些,1688网是什么意思?  北京制作网站的公司,北京铁路集团官方网站?  建站之星安装后界面空白如何解决?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。