看到的一个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. XML 语法规则

    转摘自:http://www.w3school.com.cn/xml/xml_elements.asp XML 语法规则 XML 文档包含 XML 元素. XML 的语法规则很简单,且很有逻辑.这些规 ...

  2. Ubuntu下开启root登陆

    亲手安装过Ubuntu的童鞋都知道,默认安装只会添加一个普通用户名和密码,而超级用户权限则是利用sudo命令来执行.在Ubuntu下使用root登陆或者在shell中用su命令切换到root时会提示错 ...

  3. Log4E

    工具地址:http://marketplace.eclipse.org/content/log4e Log4E插件能够帮助你在Java项目中轻松地创建记录器.它可以在以下几个任务中提供帮助:记录器声明 ...

  4. 大型网站都喜欢把js写在html中的真正原因

    相信经常观察大站的朋友都会发现,他们都把CSS写在HTML页面里,一个页面的或者多个页面的背景图片,都集成到一张图片里,他们有的JS文件,也写到页面里了……也许你会迷惑,现在到处讲页面的优化,不都是要 ...

  5. Chapter 1 Securing Your Server and Network(6):为SQL Server訪问配置防火墙

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/38082123,专题文件夹:http://blog.csdn.net/dba_huangz ...

  6. EM算法原理

    在聚类中我们经经常使用到EM算法(i.e. Estimation - Maximization)进行參数预计, 在该算法中我们通过函数的凹/凸性,在estimation和maximization两步中 ...

  7. [置顶] android LBS的研究与分享(附PPT)

    早上起床后想想以前的工作有什么可以分享的... 两年前,前公司在做一个陌生人交友的社交软件(比陌陌还早),需要研究LBS的相关工作(这里面主要研究的是Google定位)... 一.简要调研结果 很多 ...

  8. DM8168 DVRRDK软件框架研究

    转载注明:http://blog.csdn.net/guo8113/article/details/41120491 Netra(DM8168)处理器是个多核处理器,每一个核之间相互独立却又相互关联, ...

  9. careercup-树与图 4.5

    4.5 实现一个函数,检查一棵二叉树是否为二叉查找树. 参考:http://blog.csdn.net/sgbfblog/article/details/7771096 C++实现代码: #inclu ...

  10. linux gnome 安装

    首先先下载x-window的内核:apt-get -u install x-window-system-core:下载登录管理界面gdm或kdm:apt-get -u install gdm gdm- ...