html5绘制时钟动画


Posted in HTML / CSS onDecember 15, 2014

<canvas id="clock" width="500" height="500" style="background-color: yellow"></canvas>

复制代码
代码如下:

var clock=document.getElementById("clock");
var cxt=clock.getContext("2d");
function drawNow(){
var now=new Date();
var hour=now.getHours();
var min=now.getMinutes();
var sec=now.getSeconds();
hour=hour>12?hour-12:hour;
hour=hour+min/60;
//表盘(蓝色)
cxt.lineWidth=10;
cxt.strokeStyle="blue"
cxt.beginPath();
cxt.arc(250,250,200,0,360,false);
cxt.closePath();
cxt.stroke();
//刻度
//时刻度
for(var i=0;i<12;i++){
cxt.save();
cxt.lineWidth=7;
cxt.strokeStyle="black";
cxt.translate(250,250);
cxt.rotate(i*30*Math.PI/180);//旋转角度 角度*Math.PI/180=弧度
cxt.beginPath();
cxt.moveTo(0,-170);
cxt.lineTo(0,-190);
cxt.closePath();
cxt.stroke();
cxt.restore();
}
//分刻度
for(var i=0;i<60;i++){
cxt.save();
//设置分刻度的粗细
cxt.lineWidth=5;
//重置画布原点
cxt.translate(250,250);
//设置旋转角度
cxt.rotate(i*6*Math.PI/180);
//画分针刻度
cxt.strokeStyle="black";
cxt.beginPath();
cxt.moveTo(0,-180);
cxt.lineTo(0,-190);
cxt.closePath();
cxt.stroke();
cxt.restore();
}
//时针
cxt.save();
// 设置时针风格
cxt.lineWidth=7;
cxt.strokeStyle="black";
cxt.translate(250,250);
cxt.rotate(hour*30*Math.PI/180);
cxt.beginPath();
cxt.moveTo(0,-140);
cxt.lineTo(0,10);
cxt.closePath();
cxt.stroke();
cxt.restore();
//分针
cxt.save();
cxt.lineWidth=5;
cxt.strokeStyle="black";
//设置异次元空间分针画布的中心
cxt.translate(250,250);
cxt.rotate(min*6*Math.PI/180);
cxt.beginPath();
cxt.moveTo(0,-160);
cxt.lineTo(0,15);
cxt.closePath();
cxt.stroke()
cxt.restore();
//秒针
cxt.save();
//设置秒针的风格
//颜色:红色
cxt.strokeStyle="red";
cxt.lineWidth=3;
//重置原点
cxt.translate(250,250);
//设置角度
//cxt.rotate(330*Math.PI/180);
cxt.rotate(sec*6*Math.PI/180);
cxt.beginPath();
cxt.moveTo(0,-170);
cxt.lineTo(0,20);
cxt.closePath();
cxt.stroke();
//画出时针,分针,秒针的交叉点
cxt.beginPath();
cxt.arc(0,0,5,0,360,false);
cxt.closePath();
//设置填充
cxt.fillStyle="gray";
cxt.fill();
//cxt.strokeStyle="red";
cxt.stroke();
//画出秒针的小圆点
cxt.beginPath();
cxt.arc(0,-140,5,0,360,false);
cxt.closePath();
//设置填充
cxt.fillStyle="gray";
cxt.fill();
//cxt.strokeStyle="red";
cxt.stroke();</p> <p> cxt.restore();</p> <p>}
function drawClock(){
cxt.clearRect(0,0,500,500);
drawNow();
}
drawNow();
setInterval(drawClock,1000);

html5绘制时钟动画

HTML / CSS 相关文章推荐
CSS3之背景尺寸Background-size使用介绍
Oct 14 HTML / CSS
纯css3实现效果超级炫的checkbox复选框和radio单选框
Sep 01 HTML / CSS
CSS3的column-fill属性对齐列内容高度的用法详解
Jul 01 HTML / CSS
CSS3 仿微信聊天小气泡实例代码
Apr 05 HTML / CSS
详解HTML5中div和section以及article的区别
Jul 14 HTML / CSS
H5新属性audio音频和video视频的控制详解(推荐)
Dec 09 HTML / CSS
phonegap常用事件总结(必看篇)
Mar 31 HTML / CSS
HTML5实现音频和视频嵌入的方法
Aug 22 HTML / CSS
详解使用双缓存解决Canvas clearRect引起的闪屏问题
Apr 29 HTML / CSS
HTML5 FileReader对象的具体使用方法
May 22 HTML / CSS
Html5 canvas画图白板踩坑
Jun 01 HTML / CSS
CSS基础详解
Oct 16 HTML / CSS
html5的canvas方法使用指南
Dec 15 #HTML / CSS
html5各种页面切换效果和模态对话框用法总结
Dec 15 #HTML / CSS
2014年圣诞节倒计时网页的制作过程
Dec 05 #HTML / CSS
一款利用html5和css3动画排列人物头像的实例演示
Dec 05 #HTML / CSS
HTML5中drawImage用法分析
Dec 01 #HTML / CSS
html5+css3气泡组件的实现
Nov 21 #HTML / CSS
5 个强大的HTML5 API 函数推荐
Nov 19 #HTML / CSS
You might like
Session的工作方式
2006/10/09 PHP
php实现的简易扫雷游戏实例
2015/07/09 PHP
自适应高度框架 ----属个人收藏内容
2007/01/22 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
基于jquery异步传输json数据格式实例代码
2013/11/23 Javascript
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
jQuery+html5实现div弹出层并遮罩背景
2015/04/15 Javascript
JavaScript检测字符串中是否含有html标签实现方法
2015/07/01 Javascript
js 获取站点应用名的简单实例
2016/08/18 Javascript
JS取数字小数点后两位或n位的简单方法
2016/10/24 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
js实现跳一跳小游戏
2020/07/31 Javascript
antd配置config-overrides.js文件的操作
2020/10/31 Javascript
js加减乘除精确运算方法实例代码
2021/01/17 Javascript
[06:11]2014DOTA2国际邀请赛 专访团结一心的VG战队
2014/07/21 DOTA
详解Django框架中的视图级缓存
2015/07/23 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
python无限生成不重复(字母,数字,字符)组合的方法
2018/12/04 Python
Python日期时间Time模块实例详解
2019/04/15 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
详解Python time库的使用
2019/10/10 Python
Django多进程滚动日志问题解决方案
2019/12/17 Python
C语言编程练习
2012/04/02 面试题
构建高效课堂实施方案
2014/03/13 职场文书
小学老师寄语大全
2014/04/04 职场文书
事业单位年度考核个人总结
2015/02/12 职场文书
保送生自荐信
2015/03/06 职场文书
银行反洗钱宣传活动总结
2015/05/08 职场文书
小学副班长竞选稿
2015/11/21 职场文书
详解Python中下划线的5种含义
2021/07/15 Python