看到的一个html5写的时钟

<!doctype>
<html>
<head>
<script>
window.onload=function(){
var canvas=document.getElementById("myCanvas");
var c=canvas.getContext("2d");//getContenText 返回一个绘图的环境,其中2d是目前唯一合法的字符 指的是 var drawClock=function(){ c.clearRect(0,0,500,500);//清除画布, var now =new Date();
var sec=now.getSeconds();
var min=now.getMinutes();
var hour=now.getHours();
hour=hour+min/60;
hour=hour>12?hour-12:hour;//21:36:21 把24小时转12小时制 //表盘
c.lineWidth=10;
c.strokeStyle="blue";
c.beginPath();
c.arc(250,250,200,0,360,false);
c.closePath();
c.stroke(); //1.刻度 //1.1 时刻度
c.lineWidth=7;
c.strokeStyle="#000";
for(var i=0;i<12;i++){
c.save();
c.translate(250,250);
c.rotate(i*30*Math.PI/180);
c.beginPath();
c.moveTo(0,-170);
c.lineTo(0,-190);
c.closePath();
c.stroke();
c.restore();
} //1.2 分刻度
c.lineWidth=5;
c.strokeStyle="#000";
for(var i=0;i<60;i++){
c.save();
c.translate(250,250);
c.rotate(i*6*Math.PI/180);
c.beginPath();
c.moveTo(0,-170);
c.lineTo(0,-180);
c.closePath();
c.stroke();
c.restore();
} //2.1 时针
c.save();
c.lineWidth=7;
c.strokeStyle="#000";
c.translate(250,250);
c.rotate(hour*30*Math.PI/180);
c.beginPath();
c.moveTo(0,-100);
c.lineTo(0,10);
c.closePath();
c.stroke();
c.restore(); //2.2 分针
c.save();
c.lineWidth=5;
c.strokeStyle="#333";
c.translate(250,250);
c.rotate( min*6*Math.PI/180);
c.beginPath();
c.moveTo(0,-140);
c.lineTo(0,15);
c.closePath();
c.stroke();
c.restore(); //2.3 秒针
c.save();
c.lineWidth=2;
c.strokeStyle="red";
c.translate(250,250);
c.rotate(sec * 6 *Math.PI/180);
c.beginPath();
c.moveTo(0,-160);
c.lineTo(0,20);
c.closePath();
c.stroke();
//圆心加个圆圈
c.beginPath();
c.arc(0,0,5,0,360,false);
c.closePath();
c.fillStyle="green";
c.fill();
//在秒针前端加个圆点
c.beginPath();
c.arc(0,-140,10,0,360,false); c.closePath();
c.fillStyle="red";
c.fill();
c.restore(); //3 盘外时刻数字 for(var i=1;i<13;i++){
c.save();
c.lineWidth=5;
c.strokeStyle="blue";
c.font="40px 黑体";
c.translate(250,250);
c.rotate(i*30*Math.PI/180);
c.beginPath();
c.strokeText(""+i,-20,-210);
c.closePath();
c.stroke();
c.restore();
} }
drawClock();
setInterval(drawClock,1000);
}
</script>
</head>
<body>
<canvas width="500" height="500" id="myCanvas" style="background-color:yellow">
垃圾浏览器不支持canvas标签
</canvas>
</body>
</html>

效果图

html5写的一个时钟的更多相关文章

  1. 深夜,用canvas画一个时钟

    深夜,用canvas画一个时钟 查看demo 这几天准备阿里巴巴的笔试,可以说已经是心力交瘁,自从阿里和蘑菇街的内推被刷掉之后,开始越来越怀疑起自己的能力来,虽然这点打击应该是微不足道的.毕竟校招在刚 ...

  2. html5制作一个时钟

    试着用html5写一个时钟 记得开始这个随笔是几天前,一直保存在草稿里面,一直感觉有个东西搁在在那里,所以今天熬夜也要写完这篇博客!!!哈哈...不多说来上代码和思路. --------------- ...

  3. canvas写的一个小时钟demo

    <!DOCTYPE html> <html> <head> <title>HTML5 Canvas Demo of clock</title> ...

  4. 使用canvas绘制一个时钟

    周末学习canvas的一些基础功能,顺带写了一个基础的时钟.现在加工一下,做的更好看一点,先放上效果图: 谈一些自己的理解: (1).要绘制一个新的样式(不想被其他样式影响,或者影响到其他样式),那么 ...

  5. [译]终极塔防——运用HTML5从头创建一个塔防游戏

    翻译共享一篇CodeProject的高星力作,原文地址:http://www.codeproject.com/Articles/737238/Ultimate-Tower-Defense 下载演示项目 ...

  6. 通过H5的新标签canvas做出一个时钟的全过程,希望对初学者有帮助

    最近学习了H5中的一个新标签canvas并且用它做出了一个时钟,最下面是成品图像,还不错吧,这只是我学习中的一个小demo,做得有点粗糙,但终究是做出来了,以后再写自己的网页主页再做一个好看点放上去. ...

  7. 搞了我一下午竟然是web.config少写了一个点

    Safari手机版居然有个这么愚蠢的bug,浪费了我整个下午,使尽浑身解数,国内国外网站搜索解决方案,每一行代码读了又想想了又读如此不知道多少遍,想破脑袋也想不通到底哪里出了问题,结果竟然是web.c ...

  8. 用C3中的animation和transform写的一个模仿加载的时动画效果

    用用C3中的animation和transform写的一个模仿加载的时动画效果! 不多说直接上代码; html标签部分 <div class="wrap"> <h ...

  9. 写了一个常规性生成merge 的小脚本

    现在使用数据库来写存储过程,动不动参数就会用到xml ,当然罗,优势也很明显,参数相对固定,而且灵活,如果要修改或者什么的,中间接口层也不需要做变化,只需要修改封装的存储过程以及程序传参就ok了. 随 ...

随机推荐

  1. OOP设计模式[JAVA]——02观察者模式

    观察者模式 观察者模式的设计原则 为交互对象之间的松耦合设计而努力,使对象之间的相互依赖降到最低. 观察者模式也是对象行为型模式,其意图为:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时 ...

  2. cocos2d-x编程的一些小技巧

    转自:http://blog.sina.com.cn/s/blog_61d2d3f50100zgz8.html 一.   CC_ASSERT 或 CCAssert宏 Assert - 断言 使用断言可 ...

  3. [HTTP] HTTP Verb

    HEAD: HEAD / HTTP/1.1 nc.exmaple.com HEAD is a interesting method, it allow you to get a header of f ...

  4. iOS之正则表达式的使用

    一.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...

  5. 深入理解计算机系统第二版习题解答CSAPP 2.3

    填写空白.单字节可以用两个十六进制数表示. 十进制 二进制 十六进制 0 0000 0000 0x00 167 1010 0111 0xA7 62 0011 1110 0x3E 188 1011 11 ...

  6. Topself

    TopShelf简介 个人理解:开源.跨平台的服务框架.提供一种方式以控制台编写windows服务,与windows服务相比,目前只发现便于调试. 官网网站:http://docs.topshelf- ...

  7. YII中URL地址美化

    URL地址美化:urlManager地址管理(通过程序来实现url的地址美化) 例如: 原地址:http://localhost/项目/app/index.php?r=控制器/方法 新地址:http: ...

  8. export命令和import命令 详解

    export命令 模块功能主要由两个命令构成:export和import. export命令用于用户自定义模块,规定对外接口: import命令用于输入其他模块提供的功能,同时创造命名空间(names ...

  9. js中对象的创建

    json方式,构造函数方式,Object方式,属性的删除和对象的销毁 <html> <head> <title>js中的对象的创建</title> &l ...

  10. C#如何配置应用程序域

    转载:http://www.csharpwin.com/csharpspace/9175r9023.shtml 您可以使用 AppDomainSetup 类,为新应用程序域提供带有配置信息的公共语言运 ...