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里使用Dom操作Xml
Jan 22 Javascript
javascript和HTML5利用canvas构建猜牌游戏实现算法
Jul 17 Javascript
jQuery中empty()方法用法实例
Jan 16 Javascript
jQuery背景插件backstretch使用指南
Apr 21 Javascript
jQuery多条件筛选如何实现
Nov 04 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
Mar 13 Javascript
Bootstrap风格的zTree右键菜单
Feb 17 Javascript
小程序实现选择题选择效果
Nov 04 Javascript
详解滑动穿透(锁body)终极探索
Apr 16 Javascript
nuxt+axios实现打包后动态修改请求地址的方法
Apr 22 Javascript
ES6的循环与可迭代对象示例详解
Jan 31 Javascript
CocosCreator如何实现划过的位置显示纹理
Apr 14 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
利用js调用后台php进行数据处理原码
2006/10/09 PHP
php 前一天或后一天的日期
2008/06/28 PHP
解析smarty 截取字符串函数 truncate的用法介绍
2013/06/20 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
2016/11/18 PHP
PHP 与 js的通信(via ajax,json)
2010/11/16 Javascript
使用Jquery打造最佳用户体验的登录页面的实现代码
2011/07/08 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
javascript闭包传参和事件的循环绑定示例探讨
2014/04/17 Javascript
用js读、写、删除Cookie代码续篇
2014/12/03 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
JavaScript学习心得之概述
2015/01/20 Javascript
JavaScript对象创建模式实例汇总
2016/10/03 Javascript
JavaScript仿微博发布信息案例
2016/11/16 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
2016/11/18 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
原生javascript实现分页效果
2017/04/21 Javascript
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
[04:51]TI10典藏宝瓶Ⅱ外观视频展示
2020/08/15 DOTA
PyQt5每天必学之弹出消息框
2018/04/19 Python
对Python3之进程池与回调函数的实例详解
2019/01/22 Python
django 模型中的计算字段实例
2020/05/19 Python
项目经理的岗位职责
2013/11/23 职场文书
护理人员的自我评价分享
2014/03/15 职场文书
机关办公室岗位职责
2014/04/16 职场文书
我的大学生活演讲稿
2014/04/25 职场文书
让世界充满爱演讲稿
2014/05/24 职场文书
办理房产过户的委托书
2014/09/14 职场文书
2014年内部审计工作总结
2014/12/09 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
优秀员工演讲稿
2019/06/21 职场文书
教你怎么用Python处理excel实现自动化办公
2021/04/30 Python
用Python生成会跳舞的美女
2022/01/18 Python