canvas实现钟表效果


Posted in Javascript onFebruary 13, 2017

效果如下:

canvas实现钟表效果

代码如下:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>canvas画钟表</title>
 <style>
 body{
 background: #fc0;
 }
 #canvas1{
 background: #fff;
 }
 </style>
 </head>
 <body>
 <canvas id="canvas1" width="400" height="400"></canvas>
 <script>
 var oC=document.getElementById('canvas1');
 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 oHour=oDate.getHours();
 var oMinu=oDate.getMinutes();
 var oSec=oDate.getSeconds();
 var hVal=(-90+oHour*30+oMinu/2)*Math.PI/180;
 var mVal=(-90+oMinu*6)*Math.PI/180;
 var sVal=(-90+oSec*6)*Math.PI/180;
 oGC.beginPath();
 for(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();
 oGC.stroke();
 oGC.fillStyle='#fff';
 oGC.beginPath();
 oGC.moveTo(x,y);
 oGC.arc(x,y,r*19/20,0,360*Math.PI/180,false);
 oGC.closePath();
 oGC.fill();
 oGC.lineWidth=3;
 oGC.beginPath();
 for(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();
 oGC.stroke();
 oGC.fillStyle='#fff';
 oGC.beginPath();
 oGC.moveTo(x,y);
 oGC.arc(x,y,r*18/20,0,360*Math.PI/180,false);
 oGC.closePath();
 oGC.fill();
 oGC.lineWidth=5;
 oGC.beginPath();
 oGC.moveTo(x,y);
 oGC.arc(x,y,r*10/20,hVal,hVal,false);
 oGC.closePath();
 oGC.stroke();
 oGC.lineWidth=3;
 oGC.beginPath();
 oGC.moveTo(x,y);
 oGC.arc(x,y,r*14/20,mVal,mVal,false);
 oGC.closePath();
 oGC.stroke();
 oGC.lineWidth=1;
 oGC.beginPath();
 oGC.moveTo(x,y);
 oGC.arc(x,y,r*17/20,sVal,sVal,false);
 oGC.closePath();
 oGC.stroke();
 }
 setInterval(toDraw,1000);
 toDraw();
 </script>
 </body>
</html>

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

Javascript 相关文章推荐
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
Apr 12 Javascript
js用Date对象的setDate()函数对日期进行加减操作
Sep 18 Javascript
JS实现很酷的水波文字特效实例
Feb 26 Javascript
jquery+CSS实现的水平布局多级网页菜单效果
Aug 24 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
May 10 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
Sep 04 Javascript
Bootstrap一款超好用的前端框架
Sep 25 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
Dec 10 jQuery
vue@cli3项目模板怎么使用public目录下的静态文件
Jul 07 Javascript
Postman无法正常返回结果问题解决
Aug 28 Javascript
JS将指定的某个字符全部转换为其他字符实例代码
Oct 13 Javascript
Vue3.0写自定义指令的简单步骤记录
Jun 27 Vue.js
深入理解Javascript箭头函数中的this
Feb 13 #Javascript
ES6学习之变量的解构赋值
Feb 12 #Javascript
AngularJS实现路由实例
Feb 12 #Javascript
jQuery文字轮播特效
Feb 12 #Javascript
jQuery Mobile漏洞会有跨站脚本攻击风险
Feb 12 #Javascript
jQuery、zepto、js常用小技巧
Feb 12 #Javascript
JS中如何实现Laravel的route函数详解
Feb 12 #Javascript
You might like
使用PHP socke 向指定页面提交数据
2008/07/23 PHP
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
2014/06/09 PHP
php中session定期自动清理的方法
2015/11/12 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
php封装的page分页类完整实例代码
2020/02/01 PHP
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
jQuery Validate初步体验(二)
2015/12/12 Javascript
JS for...in 遍历语句用法实例分析
2016/08/24 Javascript
在js中做数字字符串补0(js补零)
2017/03/25 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
Angular中实现树形结构视图实例代码
2017/05/05 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
JS异步函数队列功能实例分析
2017/11/28 Javascript
JSON.stringify()方法讲解
2019/01/31 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
2019/09/20 Javascript
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
python查找目录下指定扩展名的文件实例
2015/04/01 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
基于python实现简单日历
2018/07/28 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
2020/02/13 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
Erwin Müller穆勒家居瑞士官网:您整个家庭的邮购公司
2019/12/28 全球购物
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
学生自我鉴定范文
2013/10/04 职场文书
网吧消防安全责任书
2014/07/29 职场文书
工伤事故赔偿协议书范文
2014/09/24 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
生日答谢词
2015/01/05 职场文书
自主招生自荐信格式范文
2015/03/25 职场文书
2016秋季校长开学典礼致辞
2015/11/26 职场文书