<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>canvas</title>
<style type="text/css">
#canvas{
display: block;
margin: 20px auto;
}
</style>
</head>
<body>
<canvas id="canvas" width="300" height="300">
</canvas>
</body>
<script type="text/javascript">
var canvas = document.getElementById("canvas");
var cans = canvas.getContext("2d");
var ss=[],aa=0,dd=[],ww=[];
var today=new Date();
var hh=today.getMinutes();
var zz=today.getHours()%12*5
zz=zz+Math.floor(hh/12);
var ll=today.getSeconds();
cans.font = "bold 14px Arial";
cans.textAlign="center";
cans.textBaseline="middle";
cans.fillStyle="green";
for(var times=0; times<60; times++) {
var hudu = (2*Math.PI / 360) * 6 * times;
ss[times]={};
dd[times]={};
ww[times]={};
ss[times].X = 150 + Math.sin(hudu) * 85;
ss[times].Y = 150 - Math.cos(hudu) * 85;
dd[times].X = 150 + Math.sin(hudu) * 65;
dd[times].Y = 150 - Math.cos(hudu) * 65;
ww[times].X = 150 + Math.sin(hudu) * 45;
ww[times].Y = 150 - Math.cos(hudu) * 45;
if(times%5==0)
{
if(aa==0)
aa=12;
cans.fillText(aa,150 + Math.sin(hudu) * 93,150 - Math.cos(hudu) * 93);
if(aa==12)
aa=0;
aa++;
}
}
cans.beginPath();
cans.arc(150,150,112,0,2*Math.PI,false);
cans.moveTo(252,150);
cans.arc(150,150,102,0,2*Math.PI,false);
cans.strokeStyle = 'red';
cans.stroke();
function nihao(c,s){
cans.strokeStyle = 'red';
cans.moveTo(150,150);//第一个起点
cans.lineTo(c,s);
}
function hao(){
cans.beginPath();
cans.moveTo(150,150);
cans.arc(150,150,86,0,2*Math.PI,false);
cans.fillStyle = 'white';
cans.fill();
}
(function pageLoad(){
hao();
ll++;
ll=ll%60;
cans.beginPath();
//第二个点
nihao(ss[ll].X,ss[ll].Y);
if(ll%60==0){
hh++;
hh=hh%60;
}
if(hh%12==0){
zz++;
zz=zz%60;
}
nihao(dd[hh].X,dd[hh].Y);
nihao(ww[zz].X,ww[zz].Y);
cans.stroke();
setTimeout(arguments.callee,1000);
})();
</script>
</html>

canvas 时钟的更多相关文章

  1. Coffeescript实现canvas时钟

    前言 参照Mozilla 官方教程,要在Canvas上画动画时钟,思路非常有意思. 把动画看作是多个帧组成,定时每个时间点在Canvas上画一帧来实现动画.而Mozilla 官方教程画图实现的思路有意 ...

  2. 》》canvas时钟

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  3. 原生js之canvas时钟组件

    canvas一直是前端开发中不可或缺的一种用来绘制图形的标签元素,比如压缩上传的图片.比如刮刮卡.比如制作海报.图表插件等,很多人在面试的过程中也会被问到有没有接触过canvas图形绘制. 定义 ca ...

  4. HTML5之Canvas时钟(网页效果--每日一更)

    今天,带来的是使用HTML5中Canvas标签实现的动态时钟效果. 话不多说,先看效果:亲,请点击这里 众所周知,Canvas标签是HTML5中的灵魂,HTML5 Canvas是屏幕上的一个由Java ...

  5. Canvas - 时钟绘制

    导语:距离上一次写canvas,已经过去两年半,如今业务需要,再次拾起,随手记录. [思考] 时钟的绘制主要在于圆的绘制:1. 使用context.arc()方法直接绘制圆或圆弧: 2. 使用圆的方程 ...

  6. html5 canvas时钟

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

  7. canvas时钟效果

    话不多说,直接上代码 <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/x ...

  8. HTML5 Canvas 时钟

    1. [图片] QQ截图20120712130049.png ​2. [代码][HTML]代码 <!DOCTYPE html><html lang="en" &g ...

  9. 简单的canvas时钟

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. canvas 时钟+自由落体

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

随机推荐

  1. 响应式页面字体用什么单位:rem

    html:62.5%//10pxbody:1.4rem;//14px... <!doctype html> <html> <head> <title>a ...

  2. 也说_T、_TEXT、TEXT、L

    本片文章转载自:http://www.cnblogs.com/sobe/archive/2011/03/14/1984188.html 百度或谷歌一下,有很多大牛早已经写过无数相关的文章说明这几个宏的 ...

  3. WPF中嵌入Flash(ActiveX)

    1. 建立 WPF Application. 首先,建立一个名为 FlashinWPF 的 WPF Application 2. 设置 Window 属性. 在 XAML 中修改 Window 的属性 ...

  4. Android使用pull解析xml

    一.理论准备     Pull解析器的运行方式与 SAX 解析器相似.它提供了类似的事件,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件.跟SAX不同的是, ...

  5. 在C#里实现各种窗口切换特效,多达13种特效

    原文:http://www.cnblogs.com/clayui/archive/2011/06/28/2092126.html 预览:   下载 这次clayui给大家带来了比较实用的东西,因为时间 ...

  6. Ubuntu使用wget下载jdk问题

    使用以下命令可下载成功,否则下载下来的可能是一个html文档. wget --no-cookies --no-check-certificate --header "Cookie:gpw_e ...

  7. Android LogCat 日志记录

    日志级别列表如下(从低到高): V — Verbose (lowest priority) D — Debug I — Info W — Warning E — Error F — Fatal S — ...

  8. queue与topic的技术特点对比

    1    queue与topic的技术特点对比 Topic Queue 概要 Publish Subscribe messaging 发布订阅消息 Point-to-Point 点对点 有无状态 to ...

  9. python中 __name__及__main()__的使用

    python中 __name__及__main()__的使用 #hello.py def sayHello(): str="hello" print(str); if __name ...

  10. 利用if else 求房贷

    static void Main(string[] args)        {            while (true)     //主要就是公式的运用和if else 的嵌套         ...