<!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. 玩转HTML5移动页面(优化篇)

    原文:http://www.grycheng.com/?p=472 承接上文<玩转HTML5移动页面(动效篇)>,上次说的是让页面动起来的一些小技巧.而页面动起来的根基是功能可用的页面,因 ...

  2. Android App资源的查找过程分析

    Android资源管理框架实际就是由AssetManager和Resources两个类来实现的.其中,Resources类可以根据ID来查找资源,而AssetManager类根据文件名来查找资源.事实 ...

  3. #Leet Code# Evaluate Reverse Polish Notation

    描述:计算逆波兰表达法的结果 Sample: [", "*"] -> ((2 + 1) * 3) -> 9 [", "/", & ...

  4. linux中轻松使用backspace和上下按键

    linux下使用sqlplus真是太费事儿了,backspace和上下键均出现乱码.在公司服务器上操作时,只能先用delete代替backspace,上下键就直接重新输入代替了,很费时间.今天在自己机 ...

  5. DM8168 环境搭建(1)

    参考<DM81xx_DVR_RDK_Install_Guide.pdf> location:/dvrrdk/DVRRDK_04.01.00.02/dvr_rdk/docs 1,准备工作: ...

  6. js 正则 非负整数

    Javascript 正则表达式 非负整数 /** * 正则判断非负整数 */ function testnum(ob){ var reg=/^[0-9]+?$/; //如果正则需要判断非负整数并带2 ...

  7. asp.net 登陆后在ashx处理程序中获取不到Session

    登录后存储Session,另一个页面Ajax请求 ashx页面,发现无法获取到Session,Session is NULL  使用“IReadOnlySessionState”这个接口就可以

  8. OA学习笔记-006-SPRING2.5与hibernate3.5整合

    一.为什么要整合 1,管理SessionFactory实例(只需要一个) 2,声明式事务管理 spirng的作用 IOC 管理对象.. AOP 事务管理.. 二.整合步骤 1.整合sessionFac ...

  9. 老陈---谈Delphi中SSL协议的应用[转]

    摘要:本文主要介绍如何在Delphi中使用SSL协议.一共分为七个部分:(1)SSL协议是什么?(2)Delphi中如何使用SSL协议?(3)SSL客户端编程实例.(4)SSL服务端编程实例.(5)S ...

  10. spring集成Apache的ActiveMQ

    1.直接看优秀的博客 http://www.open-open.com/lib/view/open1435496659794.html