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毛玻璃效果(blur)有白边问题的解决方法
Nov 15 HTML / CSS
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
Dec 06 HTML / CSS
详解css3中dispaly的Grid布局与Flex布局
Sep 11 HTML / CSS
Html5剪切板功能的实现代码
Jun 29 HTML / CSS
HTML5在a标签内放置块级元素示例代码
Aug 23 HTML / CSS
canvas如何绘制钟表的方法
Dec 13 HTML / CSS
详解HTML5 录音的踩坑之旅
Dec 26 HTML / CSS
配置H5的滚动条样式的示例代码
Mar 09 HTML / CSS
详解canvas.toDataURL()报错的解决方案全都在这了
Mar 31 HTML / CSS
video实现有声音自动播放的实现方法
May 20 HTML / CSS
如何在Canvas上的图形/图像绑定事件监听的实现
Sep 16 HTML / CSS
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
Apr 29 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 破解防盗链图片函数
2008/12/09 PHP
javascript,php获取函数参数对象的代码
2011/02/03 PHP
php中HTTP_REFERER函数用法实例
2014/11/21 PHP
yii框架搜索分页modle写法
2016/12/19 PHP
php实现分页功能的详细实例方法
2019/09/29 PHP
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
2009/03/26 Javascript
JavaScript 无符号右移运算符
2009/04/17 Javascript
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
导航跟随滚动条置顶移动示例代码
2013/09/11 Javascript
JS实现局部选择打印和局部不选择打印
2014/04/03 Javascript
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
2014/11/20 Javascript
node.js中的http.response.setHeader方法使用说明
2014/12/14 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
Angularjs中使用Filters详解
2016/03/11 Javascript
JS实现将数字金额转换为大写人民币汉字的方法
2016/08/02 Javascript
详解vue使用插槽分发内容slot的用法
2019/03/28 Javascript
vue 实现websocket发送消息并实时接收消息
2019/12/09 Javascript
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
[02:11]DOTA2上海特级锦标赛主赛事第二日RECAP
2016/03/04 DOTA
[01:10:48]完美世界DOTA2联赛PWL S2 GXR vs PXG 第一场 11.18
2020/11/18 DOTA
解决python升级引起的pip执行错误的问题
2018/06/12 Python
Python使用logging模块实现打印log到指定文件的方法
2018/09/05 Python
django session完成状态保持的方法
2018/11/27 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
Python图像处理之颜色的定义与使用分析
2019/01/03 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
对python中url参数编码与解码的实例详解
2019/07/25 Python
Pycharm如何自动生成头文件注释
2020/11/14 Python
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
英国现代家具和装饰网站:PN Home
2018/08/16 全球购物
酒店销售主管岗位职责
2014/01/04 职场文书
《故都的秋》教学反思
2014/04/15 职场文书
应届毕业生自荐信
2015/03/04 职场文书
委托书范本格式
2019/04/18 职场文书
Redis中缓存穿透/击穿/雪崩问题和解决方法
2021/12/04 Redis
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL