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-Mozilla和IE中的一个函数直接量的问题
Jan 09 Javascript
javascript与CSS复习(二)
Jun 29 Javascript
js修改地址栏URL参数解决url参数问题
Dec 15 Javascript
jQuery插件开发基础简单介绍
Jan 07 Javascript
jQuery基本过滤选择器使用介绍
Apr 18 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
Sep 13 Javascript
JavaScript生成SQL查询表单的方法
Aug 13 Javascript
JavaScript阻止表单提交方法(附代码)
Aug 15 Javascript
快速将Vue项目升级到webpack3的方法步骤
Sep 14 Javascript
JavaScript 中使用 Generator的方法
Dec 29 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
Nov 20 Javascript
mpvue微信小程序开发之实现一个弹幕评论
Nov 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
缅甸的咖啡简史
2021/03/04 咖啡文化
php 分库分表hash算法
2009/11/12 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
基于ThinkPHP实现的日历功能实例详解
2017/04/15 PHP
PHP实现SMTP邮件的发送实例
2018/09/27 PHP
不能再简单的无闪刷新验证码原理很简单
2007/11/05 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
改变隐藏的input中value的值代码
2013/12/30 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
Node.js操作mysql数据库增删改查
2016/03/30 Javascript
Vue数据驱动模拟实现4
2017/01/12 Javascript
详解JavaScript对象的深浅复制
2017/03/30 Javascript
vue.js国际化 vue-i18n插件的使用详解
2017/07/07 Javascript
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
jQuery自动或手动图片切换效果
2017/10/11 jQuery
使用Vue写一个datepicker的示例
2018/01/27 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
pymongo为mongodb数据库添加索引的方法
2015/05/11 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
Python中新式类与经典类的区别详析
2019/07/10 Python
使用tensorflow实现矩阵分解方式
2020/02/07 Python
python第三方库学习笔记
2020/02/07 Python
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
初级Java程序员面试题
2016/03/03 面试题
庆元旦迎新年广播稿
2014/02/18 职场文书
企业党员一句话承诺
2014/05/30 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
在教室放鞭炮的检讨书
2014/09/28 职场文书
2021年pycharm的最新安装教程及基本使用图文详解
2021/04/03 Python
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android