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 相关文章推荐
Javascript 八进制转义字符(8进制)
Apr 08 Javascript
javascript:文字不间断向左移动的实例代码
Aug 08 Javascript
javascript 实现键盘上下左右功能的小例子
Sep 15 Javascript
css配合jquery美化 select
Nov 29 Javascript
jquery动态加载select下拉框示例代码
Dec 10 Javascript
node.js中的fs.chownSync方法使用说明
Dec 16 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
Apr 05 Javascript
js 自带的 map() 方法全面了解
Aug 16 Javascript
使用JavaScript根据图片获取条形码的方法
Jul 04 Javascript
JavaScript捕捉事件和阻止冒泡事件实例分析
Aug 03 Javascript
详解小程序云开发数据库
May 20 Javascript
layer弹出层显示在top顶层的方法
Sep 11 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+Ajax检测用户名或邮件注册时是否已经存在实例教程
2014/08/23 PHP
PHP中如何判断exec函数执行成功?
2016/08/04 PHP
微信网页授权(OAuth2.0) PHP 源码简单实现
2016/08/29 PHP
PHP PDOStatement::fetchAll讲解
2019/01/31 PHP
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
2015/10/26 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
Angular.JS判断复选框checkbox是否选中并实时显示
2016/11/30 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
2017/02/15 Javascript
jQuery模拟下拉框选择对应菜单的内容
2017/03/07 Javascript
jquery.picsign图片标注组件实例详解
2018/02/02 jQuery
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
jQuery开发仿QQ版音乐播放器
2020/07/10 jQuery
js实现验证码干扰(动态)
2021/02/23 Javascript
Python的内存泄漏及gc模块的使用分析
2014/07/16 Python
Python专用方法与迭代机制实例分析
2014/09/15 Python
用python处理MS Word的实例讲解
2018/05/08 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
2020/07/14 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
2021/02/01 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
客服工作职责
2013/12/11 职场文书
一帮一活动总结
2014/05/08 职场文书
装配车间主任岗位职责
2015/04/08 职场文书
理想国读书笔记
2015/06/25 职场文书
队名及霸气口号大全
2015/12/25 职场文书
小学思想品德教学反思
2016/02/24 职场文书
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript
业余无线电通联Q语
2022/02/18 无线电
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android