canvas仿iwatch时钟效果


Posted in Javascript onMarch 06, 2017

效果图:

canvas仿iwatch时钟效果

图(1)

canvas仿iwatch时钟效果

图(2)

代码如下:

<!doctype html>
<html>
<head>
 <meta charset="UTF-8">
 <title>Title</title>
<style>
*{margin:0; padding:0;}
body{ background:#000; text-align:center;}
canvas{ background:#fff;}
</style>
<script>
function toDou(iNum){
 return iNum<10?'0'+iNum:''+iNum;
}
function d2a(n){
 return n*Math.PI/180;
}
window.onload = function(){
 var oC = document.getElementById('c1');
 var gd = oC.getContext('2d');
 var cx = oC.width/2,
 cy = oC.height/2;
 function clock(){
 gd.clearRect(0,0,oC.width,oC.height);
 var oDate = new Date();
 var H = oDate.getHours()%12;
 var M = oDate.getMinutes();
 var S = oDate.getSeconds();
 var MS = oDate.getMilliseconds();
 drawArc(60,0,(H*30+M/60*30),'orange');
 drawArc(80,0,(M*6+S/60*6),'purple');
 drawArc(100,0,(S*6+MS/1000*6),'aqua');
 var str = toDou(H)+':'+toDou(M)+':'+toDou(S);
 gd.font = '20px 微软雅黑';
 gd.textAlign = 'center';
 gd.textBaseline = 'middle';
 gd.fillText(str,cx,cy);
 }
 clock()
 setInterval(clock,1);
 function drawArc(r,s,e,color){
 color = color||'black';
 gd.beginPath();
 gd.arc(cx,cy,r,d2a(s-90),d2a(e-90),false);
 gd.strokeStyle = color;
 gd.lineWidth = 20;
 gd.stroke();
 }
};
</script>
</head>
<body>
 <canvas id="c1" width="800" height="600"></canvas>
</body>
</html>

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

Javascript 相关文章推荐
jquery 应用代码 方便的排序功能
Feb 06 Javascript
jQuery EasyUI API 中文文档 - Tree树使用介绍
Nov 19 Javascript
js当一个变量为函数时 应该注意的一点细节小结
Dec 29 Javascript
js鼠标滑过弹出层的定位IE6bug解决办法
Dec 26 Javascript
将list转换为json失败的原因
Dec 17 Javascript
javascript实现获取浏览器版本、操作系统类型
Jan 29 Javascript
jQuery过滤选择器用法分析
Feb 10 Javascript
利用JavaScript阻止表单提交的两种方法
Aug 11 Javascript
vuex与组件联合使用的方法
May 10 Javascript
解决Vue开发中对话框被遮罩层挡住的问题
Nov 26 Javascript
Vue项目接入Paypal实现示例详解
Jun 04 Javascript
JS实现简易贪吃蛇游戏
Aug 24 Javascript
jQuery滚动监听实现商城楼梯式导航效果
Mar 06 #Javascript
纯JS实现弹性导航条效果
Mar 06 #Javascript
JS实现颜色动态淡化效果
Mar 06 #Javascript
vue模板语法-插值详解
Mar 06 #Javascript
js中的面向对象入门
Mar 06 #Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
Mar 06 #Javascript
Vue 2.x教程之基础API
Mar 06 #Javascript
You might like
php对mongodb的扩展(初出茅庐)
2012/11/11 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
php5.6.x到php7.0.x特性小结
2019/08/17 PHP
PHP连接MySQL数据库三种实现方法
2020/12/10 PHP
淘宝搜索框效果实现分析
2011/03/05 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
jquery下拉select控件操作方法分享(jquery操作select)
2014/03/25 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
深入理解jquery中的each用法
2016/12/14 Javascript
jquery dataview数据视图插件使用方法
2016/12/23 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
JavaScript+CSS相册特效实例代码
2017/09/07 Javascript
Vue2.0用户权限控制解决方案
2017/11/29 Javascript
基于vue展开收起动画的示例代码
2018/07/05 Javascript
JavaScript Dom实现轮播图原理和实例
2021/02/19 Javascript
Python中的exec、eval使用实例
2014/09/23 Python
python自动化测试之连接几组测试包实例
2014/09/28 Python
Python中使用MELIAE分析程序内存占用实例
2015/02/18 Python
简化Python的Django框架代码的一些示例
2015/04/20 Python
PyQt5每天必学之单行文本框
2018/04/19 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
python实现超级玛丽游戏
2020/03/18 Python
CSS3实现银灰色动画效果的导航菜单代码
2015/09/01 HTML / CSS
全球速卖通俄罗斯站:AliExpress俄罗斯
2019/06/17 全球购物
do you have any Best Practice for testing
2016/06/04 面试题
药店采购员岗位职责
2014/09/30 职场文书
2014年前台个人工作总结
2014/11/14 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书
js实现上传图片到服务器
2021/04/11 Javascript
继承Win10缺点!教你关闭Win11烦人的网络搜索
2021/11/23 数码科技
Centos系统通过Docker安装并搭建MongoDB数据库
2022/04/12 MongoDB