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 相关文章推荐
JavaScript获取GridView选择的行内容
Apr 14 Javascript
jquery parent和parents的区别分析
Oct 02 Javascript
JS替换文本域内的回车示例
Feb 18 Javascript
laypage分页控件使用实例详解
May 19 Javascript
总结JavaScript的正则与其他语言的不同之处
Aug 25 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
Sep 01 Javascript
jQuery表单对象属性过滤选择器实例详解
Sep 13 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
Mar 15 Javascript
vue-resource + json-server模拟数据的方法
Nov 02 Javascript
IE11下CKEditor在Bootstrap Modal中下拉问题的解决
Sep 25 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
May 13 Javascript
前端JavaScript大管家 package.json
Nov 02 Javascript
深入理解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调用Oracle存储过程
2006/10/09 PHP
javascript,php获取函数参数对象的代码
2011/02/03 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
PHP的文件操作与算法实现的面试题示例
2015/08/10 PHP
实例讲解yii2.0在php命令行中运行的步骤
2015/12/01 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
2020/05/25 PHP
得到文本框选中的文字,动态插入文字的js代码
2007/03/07 Javascript
javascript函数库-集合框架
2007/04/27 Javascript
用dom+xhtml+css制作的一个相册效果代码打包下载
2008/01/24 Javascript
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
javaScript 关闭浏览器 (不弹出提示框)
2010/01/31 Javascript
基于jQuery实现的美观星级评论打分组件代码
2015/10/30 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
实用又漂亮的BootstrapValidator表单验证插件
2016/05/30 Javascript
JavaScript中双向数据绑定详解
2017/05/03 Javascript
react路由配置方式详解
2017/08/07 Javascript
vue实现微信二次分享以及自定义分享的示例
2019/03/20 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
Vue中ref和$refs的介绍以及使用方法示例
2021/01/11 Vue.js
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
python定时检查启动某个exe程序适合检测exe是否挂了
2013/01/21 Python
Python语言编写电脑时间自动同步小工具
2013/03/08 Python
python 使用 requests 模块发送http请求 的方法
2018/12/09 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
Python测试模块doctest使用解析
2019/08/10 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
2020/05/19 Python
马来西亚在线时尚女装商店:KEI MAG
2017/09/28 全球购物
迪奥美国官网:Dior美国
2019/12/07 全球购物
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
数控加工专业毕业生自荐信
2013/09/27 职场文书
院领导写的就业推荐信
2014/03/09 职场文书
承诺书格式
2014/06/03 职场文书
美术社团活动总结
2014/06/27 职场文书
慈善募捐倡议书
2015/04/27 职场文书
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python