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 写类方式之三
Jul 05 Javascript
javascript实现的基于金山词霸网络翻译的代码
Jan 15 Javascript
javascript:window.open弹出窗口的位置问题
Mar 18 Javascript
浅析AngularJs HTTP响应拦截器
Dec 28 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
Feb 24 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
Jun 19 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
Jul 09 Javascript
原生JS实现逼真的图片3D旋转效果详解
Feb 16 Javascript
vue+moment实现倒计时效果
Aug 26 Javascript
在Vuex中Mutations修改状态操作
Jul 24 Javascript
vue-simple-uploader上传成功之后的response获取代码
Sep 07 Javascript
JavaScript 中for/of,for/in 的详细介绍
Nov 17 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
WHOIS类的修改版
2006/10/09 PHP
php url路由入门实例
2014/04/23 PHP
Laravel 5框架学习之Blade 简介
2015/04/08 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
推荐一些非常不错的javascript学习资源站点
2007/08/29 Javascript
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
Sea.JS知识总结
2016/05/05 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
mvc中form表单提交的三种方式(推荐)
2016/08/10 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
2016/08/10 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
微信小程序如何使用云开发
2019/05/17 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
VUE+elementui组件在table-cell单元格中绘制微型echarts图
2020/04/20 Javascript
在vue中配置不同的代理同时访问不同的后台操作
2020/09/11 Javascript
10分钟学会js处理json的常用方法
2020/12/06 Javascript
vue实现可移动的悬浮按钮
2021/03/04 Vue.js
[01:46]TI4西雅图DOTA2前线报道 中国选手抱团调时差
2014/07/08 DOTA
Python调用SQLPlus来操作和解析Oracle数据库的方法
2016/04/09 Python
Python最小二乘法矩阵
2019/01/02 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
2019/01/04 Python
Python新手学习标准库模块命名
2020/05/29 Python
Django日志及中间件模块应用案例
2020/09/10 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
办公室文书岗位职责
2013/12/16 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
家属答谢词
2015/01/05 职场文书
英文道歉信
2015/01/20 职场文书
2016年政治理论学习心得体会
2016/01/25 职场文书
2016年助残日旅游活动总结
2016/04/01 职场文书
写作技巧:如何撰写商业计划书
2019/08/08 职场文书
Vue实现下拉加载更多
2021/05/09 Vue.js