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 相关文章推荐
xmlhttp缓存清除的2种解决方法
Dec 13 Javascript
Javascript实现Array和String互转换的方法
Dec 21 Javascript
解决Window10系统下Node安装报错的问题分析
Dec 13 Javascript
浅谈javascript alert和confirm的美化
Dec 15 Javascript
canvas知识总结
Jan 25 Javascript
windows下vue.js开发环境搭建教程
Mar 20 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
Apr 08 Javascript
layui layer select 选择被遮挡的解决方法
Sep 21 Javascript
vue学习笔记之给组件绑定原生事件操作示例
Feb 27 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
Jun 12 Javascript
Vue Elenent实现表格相同数据列合并
Nov 30 Vue.js
基于JavaScript实现简单的轮播图
Mar 03 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
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
JavaScript 字符串连接性能优化
2008/12/20 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
jQuery实现可收缩展开的级联菜单实例代码
2013/11/27 Javascript
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
jQuery Easyui datagrid/treegrid 清空数据
2016/07/09 Javascript
利用vue-router实现二级菜单内容转换
2016/11/30 Javascript
JS基于面向对象实现的选项卡效果示例
2016/12/20 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
2018/02/28 Javascript
angular多语言配置详解
2019/05/16 Javascript
微信小程序实现列表滚动头部吸顶的示例代码
2020/07/12 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
在Vue中使用mockjs代码实例
2020/11/25 Vue.js
跟老齐学Python之玩转字符串(1)
2014/09/14 Python
Python3通过Luhn算法快速验证信用卡卡号的方法
2015/05/14 Python
Python内置函数delattr的具体用法
2017/11/23 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
python后端接收前端回传的文件方法
2019/01/02 Python
Python3之字节串bytes与字节数组bytearray的使用详解
2019/08/27 Python
Mac中PyCharm配置Anaconda环境的方法
2020/03/04 Python
Python计算指定日期是今年的第几天(三种方法)
2020/03/26 Python
Python HTMLTestRunner如何下载生成报告
2020/09/04 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
css和css3弹性盒模型实现元素宽度(高度)自适应
2019/05/15 HTML / CSS
松下电器美国官方商店:Panasonic美国
2016/10/14 全球购物
美术教师岗位职责
2014/03/18 职场文书
学校爱心捐款倡议书
2014/05/13 职场文书
2015年环卫工作总结
2015/04/28 职场文书
调解书格式范本
2015/05/20 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
一级电子管军用接收机测评
2022/04/05 无线电