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实现字体颜色渐变的实现
Mar 09 HTML / CSS
前端制作动画的几种方式(css3,js)
Dec 12 HTML / CSS
用CSS3实现Win8风格的方格导航菜单效果
Apr 10 HTML / CSS
CSS3实现超酷的黑猫警长首页
Apr 26 HTML / CSS
CSS3 新增选择器的实例
Nov 13 HTML / CSS
详解css3中的伪类before和after常见用法
Nov 17 HTML / CSS
html5中canvas学习笔记2-判断浏览器是否支持canvas
Jan 06 HTML / CSS
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
Jan 30 HTML / CSS
HTML5 创建canvas元素示例代码
Jun 04 HTML / CSS
谈一谈HTML5本地存储技术
Mar 02 HTML / CSS
HTML5播放实现rtmp流直播
Jun 16 HTML / CSS
CSS 圆形进度栏
Apr 06 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
PHPUnit PHP测试框架安装方法
2011/03/23 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
PHP扩展Swoole实现实时异步任务队列示例
2019/04/13 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
Canvas 制作动态进度加载水球详解及实例代码
2016/12/09 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
聊聊JavaScript如何实现继承及特点
2017/04/07 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
2018/10/11 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
js DOM的事件常见操作实例详解
2019/12/16 Javascript
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
Python中有趣在__call__函数
2015/06/21 Python
深入浅析python中的多进程、多线程、协程
2016/06/22 Python
Python中的引用知识点总结
2019/05/20 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
2019/08/06 Python
解决python 3 urllib 没有 urlencode 属性的问题
2019/08/22 Python
python 计算两个列表的相关系数的实现
2019/08/29 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
2020/02/24 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
canvas实现手机的手势解锁的步骤详细
2020/03/16 HTML / CSS
UNIX文件系统分类
2014/11/11 面试题
《美丽的黄昏》教学反思
2014/02/28 职场文书
教师竞聘演讲稿
2014/05/16 职场文书
政风行风评议工作总结
2014/10/21 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
中秋节晚会开场白
2015/05/29 职场文书
Python如何把不同类型数据的json序列化
2021/04/30 Python
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL