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 12 Javascript
关于jquery中全局函数each使用介绍
Dec 10 Javascript
node.js中的http.response.removeHeader方法使用说明
Dec 14 Javascript
解决ueditor jquery javascript 取值问题
Dec 30 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
Aug 17 Javascript
json定义及jquery操作json的方法
Oct 03 Javascript
利用Node.js+Koa框架实现前后端交互的方法
Feb 27 Javascript
vue短信验证性能优化如何写入localstorage中
Apr 25 Javascript
JavaScript设计模式之构造函数模式实例教程
Jul 02 Javascript
layui 监听select选择 获取当前select的ID名称方法
Sep 24 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
Jul 26 Javascript
如何基于viewport vm适配移动端页面
Nov 13 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/06 新手入门
PHP下操作Linux消息队列完成进程间通信的方法
2010/07/24 PHP
仿AS3实现PHP 事件机制实现代码
2011/01/27 PHP
php实现文件下载实例分享
2014/06/02 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
php array_slice 取出数组中的一段序列实例
2016/11/04 PHP
redirect_uri参数错误的解决方法(必看)
2017/02/16 PHP
php使用parse_str实现查询字符串解析到变量中的方法
2017/02/17 PHP
javascript 对象定义方法 简单易学
2009/03/22 Javascript
基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
2012/07/31 Javascript
JQuery for与each性能比较分析
2013/05/14 Javascript
JS创建类和对象的两种不同方式
2014/08/08 Javascript
jQuery实现简单下拉导航效果
2015/09/07 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
2015/10/23 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
Bootstrap超大屏幕的实现代码
2017/03/22 Javascript
详解Vue实战指南之依赖注入(provide/inject)
2018/11/13 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
理解生产者消费者模型及在Python编程中的运用实例
2016/06/26 Python
Python中shutil模块的常用文件操作函数用法示例
2016/07/05 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
2019/01/19 Python
pytorch 预训练层的使用方法
2019/08/20 Python
python2.7使用scapy发送syn实例
2020/05/05 Python
俄罗斯最大的在线珠宝大卖场:Nebo
2019/12/08 全球购物
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
写求职信有什么意义
2014/02/17 职场文书
师范生求职信
2014/06/14 职场文书
个人授权委托书范本
2014/09/14 职场文书
政府四风问题整改措施
2014/10/04 职场文书
2015元旦晚会主持词(开场白+结束语)
2014/12/14 职场文书
矛盾论读书笔记
2015/06/29 职场文书
初中班主任工作随笔
2015/08/15 职场文书
浅谈Redis的keys命令到底有多慢
2021/10/05 Redis
Python超详细分步解析随机漫步
2022/03/17 Python