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 动画技术
Jul 27 HTML / CSS
CSS3实现多背景展示效果通过CSS3定位多张背景
Aug 10 HTML / CSS
HTML5打开本地app应用的方法
Mar 31 HTML / CSS
html5理解head_动力节点Java学院整理
Jul 13 HTML / CSS
canvas烟花特效锦集
Jan 17 HTML / CSS
html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点
Jan 09 HTML / CSS
Html5适配iphoneX刘海屏的简单实现
Apr 09 HTML / CSS
HTML5播放实现rtmp流直播
Jun 16 HTML / CSS
使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡跟随变化的效果
Nov 10 HTML / CSS
几款流行的HTML5 UI框架比较(小结)
Apr 08 HTML / CSS
使用CSS实现六边形的图片效果
Aug 05 HTML / CSS
CSS实现鼠标悬浮动画特效
May 07 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
php调用dll的实例操作动画与代码分享
2012/08/14 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
PHP 获取 ping 时间的实现方法
2017/09/29 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
2009/04/24 Javascript
快速排序 php与javascript的不同之处
2011/02/22 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
2014/01/25 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
JavaScript实现的类字典插入或更新方法实例
2015/07/10 Javascript
javascript中Date对象的使用总结
2016/11/21 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
详解webpack引入第三方库的方式以及注意事项
2019/01/15 Javascript
vue2.0 获取从http接口中获取数据,组件开发,路由配置方式
2019/11/04 Javascript
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
python编写网页爬虫脚本并实现APScheduler调度
2014/07/28 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
python控制台实现tab补全和清屏的例子
2019/08/20 Python
python字典的值可以修改吗
2020/06/29 Python
Python实现手绘图效果实例分享
2020/07/22 Python
canvas离屏技术与放大镜实现代码示例
2018/08/31 HTML / CSS
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
兼职学生的自我评价
2013/11/24 职场文书
保护环境倡议书300字
2014/05/19 职场文书
质量标语大全
2014/06/12 职场文书
禁止酒驾标语
2014/06/25 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
侵犯商业秘密的律师函
2015/05/27 职场文书
文艺演出主持词
2015/07/01 职场文书
python必学知识之文件操作(建议收藏)
2021/05/30 Python
vue使用refs获取嵌套组件中的值过程
2022/03/31 Vue.js