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的强大选择器小结
Dec 27 Javascript
js 遍历对象的属性的代码
Dec 29 Javascript
非常好用的JsonToString 方法 简单实例
Jul 18 Javascript
jQuery文字横向滚动效果的实现代码
May 31 Javascript
JS实现的手机端精简幻灯片效果
Sep 05 Javascript
vue.js指令v-for使用及索引获取
Nov 03 Javascript
Bootstrap table右键功能实现方法
Feb 20 Javascript
详解用node.js实现简单的反向代理
Jun 26 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
Dec 11 Javascript
如何获取vue单文件自身源码路径
May 06 Javascript
JS如何在数组指定位置插入元素
Mar 10 Javascript
微信小程序实现多行文字滚动
Nov 18 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
动漫女神老婆无限好,但日本女生可能就不是这么一回事了!
2020/03/04 日漫
php中使用explode查找某个字符是否存在的方法
2011/07/12 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
php实现用于删除整个目录的递归函数
2015/03/16 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
PHP实现适用于自定义的验证码类
2016/06/15 PHP
php+MySql实现登录系统与输出浏览者信息功能
2016/07/01 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
2019/03/06 PHP
jquery 插件实现图片延迟加载效果代码
2010/02/06 Javascript
js弹出层永远居中实现思路及代码
2013/11/29 Javascript
JavaScript获取指定元素位置的方法
2015/04/08 Javascript
JS动态添加iframe的代码
2015/09/14 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
用js动态添加html元素,以及属性的简单实例
2016/07/19 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
2017/10/20 jQuery
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
vue检测对象和数组的变化分析
2018/06/30 Javascript
JavaScript实现复选框全选和取消全选
2020/11/20 Javascript
[01:05:00]2018国际邀请赛 表演赛 Pain vs OpenAI
2018/08/24 DOTA
Python中的XML库4Suite Server的介绍
2015/04/14 Python
在PyCharm中三步完成PyPy解释器的配置的方法
2018/10/29 Python
python3 pygame实现接小球游戏
2019/05/14 Python
目前不被任何主流浏览器支持的CSS3属性汇总
2014/07/21 HTML / CSS
详解淘宝H5 sign加密算法
2020/08/25 HTML / CSS
Zavvi西班牙:电子游戏、极客服装、Blu-ray、Funko Pop等
2019/05/03 全球购物
美团网旗下网上订餐平台:美团外卖
2020/03/05 全球购物
项目合作计划书
2014/01/09 职场文书
母婴店促销方案
2014/03/05 职场文书
股权投资意向书
2014/04/01 职场文书
纪检干部对照检查材料
2014/08/22 职场文书
《惊弓之鸟》教学反思
2016/02/20 职场文书
Python中异常处理用法
2021/11/27 Python
MySQL慢查询优化解决问题
2022/03/17 MySQL
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers