<!doctype html>
<html>
<head></head>
<body>
<canvas id="clock" width="" height="">
您的浏览器不支持canvas标签,无法看到时钟
</canvas>
<script>
var clock=document.getElementById('clock');
var cxt=clock.getContext('2d'); function drawClock(){
cxt.clearRect(,,,); //清除画布区域
var now =new Date();
var sec=now.getSeconds();
var min=now.getMinutes();
var hour=now.getHours(); hour=hour+min/; //小时必须获取浮点类型(小时+分数转化成的小时)
//问题 19:23:30
//将24小时进制转换为12小时
hour=hour>?hour-:hour; cxt.lineWidth=;
cxt.strokeStyle="#A61C3E"; //表盘(蓝色)
cxt.beginPath();
cxt.arc(,,,,Math.PI*,false);
cxt.closePath();
cxt.stroke(); //时刻度
for(var i=;i<;i++){
cxt.save();
cxt.lineWidth=; //设置时针的粗细
cxt.strokeStyle="#005693"; //设置时针的颜色
cxt.translate(,);
cxt.rotate(i**Math.PI/);//角度*Math.PI/180=弧度
cxt.beginPath();
cxt.moveTo(,-);
cxt.lineTo(,-);
cxt.closePath();
cxt.stroke();
cxt.restore();
} //分刻度
for(var i=;i<;i++){
cxt.save();
cxt.lineWidth=;
cxt.strokeStyle="#04562E";
cxt.translate(,);
cxt.rotate(i**Math.PI/);
cxt.beginPath();
cxt.moveTo(,-);
cxt.lineTo(,-);
cxt.closePath();
cxt.stroke();
cxt.restore();
} //时针
cxt.save();
cxt.lineWidth=;
cxt.strokeStyle="#04562E";
cxt.translate(,);//设置异次元空间的0,0点,画布的圆心
cxt.rotate(hour**Math.PI/);
cxt.beginPath();
cxt.moveTo(,-); //针长
cxt.lineTo(,);
cxt.closePath();
cxt.stroke();
cxt.restore(); //分针
cxt.save();
cxt.lineWidth=;
cxt.strokeStyle="#000";
cxt.translate(,);
cxt.rotate(min**Math.PI/);
cxt.beginPath();
cxt.moveTo(,-);
cxt.lineTo(,);
cxt.closePath();
cxt.stroke();
cxt.restore(); //秒针
cxt.save();
cxt.strokeStyle="#611123";
cxt.lineWidth=;
cxt.translate(,);
cxt.rotate(sec**Math.PI/);//设置旋转角度
cxt.beginPath(); //画图
cxt.moveTo(,-);
cxt.lineTo(,);
cxt.closePath();
cxt.stroke();
cxt.beginPath(); //画出时针、分针、秒针的交叉点、
cxt.arc(,,,,,false);
cxt.closePath();
cxt.fillStyle="gray"; //设置填充样式
cxt.fill();
cxt.stroke(); //设置秒针前段的小圆点
cxt.beginPath();
cxt.arc(,-,,,,false);
cxt.closePath();
cxt.fillStyle="#FFF";
cxt.fill();
cxt.stroke();//设置笔触样式(秒针已设置)
cxt.restore();
} drawClock(); //1000毫秒前要显示
//使用setInterval(代码,毫秒时间) 让时钟动起来
setInterval(drawClock,);
</script>
</body>
</html>

HTML5 canvas 指针时钟的更多相关文章

  1. [ZZ+CH] Html5 canvas+js 时钟

    总之新Blog入驻以后,又开始老习惯,到处折腾自定义的空间,放些东西. 想起以前大一的时候做过一个Javascript的时间显示器,现在想做一个时钟,当然现在老奸巨猾,会先去看一看有前辈写过没. 前辈 ...

  2. HTML5 Canvas爱心时钟代码

    这是一款数字时钟动画,数字又多个小爱心组成,又何问起整理,随着时间推进,每一秒钟新数字替换旧数字,旧数字离去使用天女散花动画,花是五颜六色的. 查看效果:http://hovertree.com/te ...

  3. html5 canvas绘画时钟

    本示例使用HTML5 canvas,模拟显示了一个时钟, 请使用支持HTML5的浏览器预览效果: HTML部分: <!DOCTYPE html> <html lang="e ...

  4. HTML5 Canvas 绘制时钟

    网上会看到很多绘制的时钟,看代码也是云里雾里,自学了下Canvas,觉得不难,就自己做了一个. 先看一下截图: 比较简陋,但是该有的都有了,样式只加了个阴影. html代码就不贴了,就一个canvas ...

  5. html5 Canvas绘制时钟以及绘制运动的圆

    1.绘制时钟 <!-- js代码 --> <script type="text/javascript"> window.onload=function(){ ...

  6. html5 canvas js(时钟)

    <!doctype html> <html> <head> <title>canvas</title> </head> < ...

  7. html5 canvas简易时钟

    <canvas id='clock' width=500 height=500> 您的浏览器需要升级 </canvas> <script type="text/ ...

  8. html5 canvas时钟

    基础知识点:                canvas标签只是图形容器,您必须使用脚本来绘制图形. getContext() 方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性.——获取上 ...

  9. HTML5 之Canvas 绘制时钟 Demo

    <!DOCTYPE html> <html> <head> <title>Canvas 之 时钟 Demo</title> <!--简 ...

随机推荐

  1. jquery--new返回值

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  2. 2.1 Producer API官网剖析(博主推荐)

    不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ 2.1 Producer API 2.1.生产者API 我们鼓励所有新开发的程序使用 ...

  3. 3、Task.Factory属性

    3.Task.Factory属性 Task类提供了一个Factory静态属性,这个属性返回一个TaskFactory对象. Task task = Task.Factory.StartNew(Task ...

  4. 用Navicat连接MySQL数据库出现1251错误:密码方式错误

    原因:因为MySQL8.0是最新版密码保存方式,而图形化数据库管理工具还是原先的密码保存方式. 解决方式: 用CMD命令号方式进入MySQL use mysql: ALTER USER 'root'@ ...

  5. NOI2018归程(Kruskal重构树)

    题目描述 本题的故事发生在魔力之都,在这里我们将为你介绍一些必要的设定. 魔力之都可以抽象成一个 n 个节点.m 条边的无向连通图(节点的编号从 1 至 n). 我们依次用 l,a 描述一条边的长度. ...

  6. STM32 之ADC单次转换模式和连续转换模式

    一.背景 在STM32中的AD的单通道采样中可以设置成单次转换模式和连续转换模式,如何理解这两个转换模式的区别,通过程序又是怎样实现的? 二.正文 首先理解单次转换模式,即ADC进行单次转换(单样本) ...

  7. 【2017 Multi-University Training Contest - Team 9】Numbers

    [链接]http://acm.hdu.edu.cn/showproblem.php?pid=6168 [题意] 有一个长度为n的序列a1--an,根据a序列生成了一个b序列,b[i] = a[i]+a ...

  8. 洛谷——V1772 巧妙填数

    描述 将1,2,\cdots,91,2,⋯,9共99个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:31:2:3的比例. 试求出所有满足条件的三个三位数.例如:三个三位数192,384, ...

  9. 简单记录几个有用的sql查询

    转载自:http://blog.itpub.net/16436858/viewspace-676265/ 下面示例中,查询的数据表参考这一篇的Person表. 一.限制返回的行数 1.Sql Serv ...

  10. python内存增长问题

    如果你的程序没有调用什么特殊的库, 只是用了很平常的库, 而且使再循环很多的情况下, 那么建议你把循环里的程序拆出来,写成一子函数,循环子函数. 如下面格式: for   (循环) 子函数 这样程序每 ...