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 相关文章推荐
最近项目写了一些js,水平有待提高
Jan 31 Javascript
jQuery学习7 操作JavaScript对象和集合的函数
Feb 07 Javascript
jquery 日期分离成年月日的代码
May 14 Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
Jan 11 Javascript
javascript实现json页面分页实例代码
Feb 20 Javascript
论Bootstrap3和Foundation5网格系统的异同
May 16 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
Jan 11 Javascript
vue 路由守卫(导航守卫)及其具体使用
Feb 25 Javascript
JS实现简易留言板(节点操作)
Mar 16 Javascript
解决node终端下运行js文件不支持ES6语法
Apr 04 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
May 21 Javascript
手写Vue源码之数据劫持示例详解
Jan 04 Vue.js
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
example2.php
2006/10/09 PHP
php强制下载类型的实现代码
2011/04/21 PHP
linux下使用crontab实现定时PHP计划任务失败的原因分析
2014/07/05 PHP
PHP模板解析类实例
2015/07/09 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
微信中一些常用的js方法汇总
2015/03/12 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
详解Angularjs中的依赖注入
2016/03/11 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
2016/06/17 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
vue.js绑定class和style样式(6)
2016/12/09 Javascript
vue结合Echarts实现点击高亮效果的示例
2018/03/17 Javascript
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
python3.3使用tkinter开发猜数字游戏示例
2014/03/14 Python
python实现颜色空间转换程序(Tkinter)
2015/12/31 Python
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
django如何实现视图重定向
2019/07/24 Python
django组合搜索实现过程详解(附代码)
2019/08/06 Python
Python 寻找局部最高点的实现
2019/12/05 Python
python剪切视频与合并视频的实现
2020/03/03 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
学生如何注册Pycharm专业版以及pycharm的安装
2020/09/24 Python
史泰博(Staples)中国官方网站:办公用品一站式采购
2016/09/05 全球购物
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
秘书专业自荐信范文
2013/12/26 职场文书
财务审计整改报告
2014/11/06 职场文书
小学国庆节活动总结
2015/03/23 职场文书
换届选举主持词
2015/07/03 职场文书
基于HTML十秒做出淘宝页面
2021/10/24 HTML / CSS