纯html5打造的时钟

 1 <!DOCTYPE HTML>
 2 <html lang="en-US">
 3 <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6         <script>
 7                 window.onload = function(){
 8                         var oC = document.getElementById(‘ch1‘);
 9                         var oGC = oC.getContext(‘2d‘);
10
11                         function drawClock(){
12                                 var x = 200;   //指定坐标
13                                 var y = 200;
14                                 var r = 150;  //指定钟表半径
15
16                                 oGC.clearRect(0,0,oC.width,oC.height);//清空画布
17
18                                 var oDate = new Date();      //创建日期对象
19                                 var oHours = oDate.getHours();//获取时间
20                                 var oMin = oDate.getMinutes();
21                                 var oSen = oDate.getSeconds();
22
23                                 var oHoursValue = (-90 + oHours*30 + oMin/2)*Math.PI/180; //设置时针的值
24                                 var oMinValue = (-90 + oMin*6)*Math.PI/180;
25                                 var oSenValue = (-90 + oSen*6)*Math.PI/180;
26
27                                 oGC.beginPath();//开始
28
29                                 for(var i=0;i<60;i++){         //i为60,代表着时钟的60个小刻度
30                                         oGC.moveTo(x,y);
31                                         oGC.arc(x,y,r,6*i*Math.PI/180,6*(i+1)*Math.PI/180,false); //循环从6度到12度
32                                 }
33                                 oGC.closePath();
34                                 oGC.stroke();
35
36                                 oGC.fillStyle =‘white‘; //覆盖住小刻度的黑色线
37                                 oGC.beginPath();
38                                 oGC.moveTo(x,y);
39                                 oGC.arc(x,y,r*19/20,0,360*(i+1)*Math.PI/180,false);
40
41                                 oGC.closePath();//结束
42                                 oGC.fill();
43
44                                 oGC.lineWidth = 3; //设置时钟圆盘大刻度的粗细值
45                                 oGC.beginPath();  //开始画大的时钟刻度
46
47                                 for(i=0;i<12;i++){              //i为12,代表着时钟刻度的12大格
48                                         oGC.moveTo(x,y);
49                                         oGC.arc(x,y,r,30*i*Math.PI/180,30*(i+1)*Math.PI/180,false); // 间隔为30度,弧度=角度*Math.PI/180
50                                 }
51                                 oGC.closePath();
52                                 oGC.stroke();
53
54                                 oGC.fillStyle =‘white‘; //覆盖住大刻度的黑色线
55                                 oGC.beginPath();
56                                 oGC.moveTo(x,y);
57                                 oGC.arc(x,y,r*18/20,360*(i+1)*Math.PI/180,false);
58
59                                 oGC.closePath();
60                                 oGC.fill();//表盘完成
61
62                                 oGC.lineWidth = 5;//设置时针宽度
63                                 oGC.beginPath();//开始绘制时针
64                                 oGC.moveTo(x,y);
65
66                                 oGC.arc(x,y,r*10/20,oHoursValue,oHoursValue,false);//设置时针大小和弧度
67                                 oGC.closePath();
68                                 oGC.stroke();
69
70                                 oGC.lineWidth = 3;//设置分针宽度
71                                 oGC.beginPath();//开始绘制分针
72                                 oGC.moveTo(x,y);
73
74                                 oGC.arc(x,y,r*14/20,oMinValue,oMinValue,false);//设置分针大小和弧度
75                                 oGC.closePath();
76                                 oGC.stroke();
77
78                                 oGC.lineWidth = 1;//设置秒针宽度
79                                 oGC.beginPath();//开始绘制秒针
80                                 oGC.moveTo(x,y);
81
82                                 oGC.arc(x,y,r*19/20,oSenValue,oSenValue,false);//设置秒针大小和弧度
83                                 oGC.closePath();
84                                 oGC.stroke();
85                         }
86                         setInterval(drawClock,1000);//设置定时器,让时钟运转起来
87                                 drawClock();
88                 };
89         </script>
90 </head>
91 <body>
92         <canvas id = "ch1" width = "400px" height = "400px"></canvas>
93 </body>
94 </html>

自己写的html5时钟,欢迎指教!

纯html5打造的时钟

时间: 2024-10-20 07:37:52

纯html5打造的时钟的相关文章

HTML5 CSS3专题 纯CSS打造相册效果

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/30993277 今天偶然发现电脑里面还有这样的一个例子,感觉效果还不错,不记得啥时候下载的了,也好久没上w3cfuns了,怀念学习前台的日子,给大家分享下. 效果图: 效果是不是还是很不错的,最主要的是没有使用一行js,这才是亮点. 先看html文件: <body> <div id="gallery"> <h1>纯CSS3相册效果&l

【Web前沿技术】纯 CSS3 打造的10个精美加载进度条动画

之前向大家介绍8款优秀的 jQuery 加载动画和进度条插件,今天这篇文章向大家推荐10个纯 CSS3 代码实现精美加载进度条动画效果的方案.加载动画和进度条在网站和 Web 应用中的使用非常流行,特别是在使用 Ajax 技术加载内容的应用场景中,使用时尚的加载动画和进度条告诉用户内容正在加载中是一种非常友好的方式. 您可能感兴趣的相关文章 20个非常绚丽的 CSS3 特性应用演示 23个纯 CSS3 打造的精美LOGO图案 35个让人惊讶的 CSS3 动画效果演示 推荐12个漂亮的 CSS3

纯CSS3打造七巧板

原文:纯CSS3打造七巧板 最近项目上要制作一个七巧板,脑子里瞬间闪现,什么...七巧板不是小时候玩的吗... 七巧板的由来 先来个科普吧,是我在查资料过程中看到的,感觉很有意思. 宋朝有个叫黄伯思的人,对几何图形很有研究,他热情好客,发明了一种用6张小桌子组成的“宴几”——请客吃饭的小桌子.后来有人把它改进为7张桌组成的宴几,可以根据吃饭人数的不同,把桌子拼成不同的形状,比如3人拼成三角形,4人拼成四方形,6人拼成六方形……这样用餐时人人方便,气氛更好.后来,有人把宴几缩小改变到只有七块板,用

html5制作一个时钟

试着用html5写一个时钟 记得开始这个随笔是几天前,一直保存在草稿里面,一直感觉有个东西搁在在那里,所以今天熬夜也要写完这篇博客!!!哈哈...不多说来上代码和思路. --------------------------------------------------------------------------------------------- 其实并不难,主要看你是否掌握了canvas下面几个属性:save(),restore();ratate();translate(),moveT

纯CSS3打造非常炫的加载动画

纯css3打造的一款非常炫的加载图.用在需要一定时间加载的地方非常合适.先上效果图: 点击这里在线预览 代码非常简单.没有用任何javascript代码.纯css3实现. html代码: <div class="content"> <div style="width: 970px; margin: auto"> </div> <div class="rotate"> <span class=&

纯 HTML5 APP与原生APP的差距在哪?

纯 HTML5 APP与原生APP的差距在哪? 写过一些纯H5的APP,虽然开发起来的确很快很舒服,但和原生比起来纯H5APP还是有很多问题,主要聚集在以下几个方面: 1.动画 动画有很多种,比如侧边栏菜单的滑入滑出.元素的响应动画.页面切换之间的过场等等,在H5之下的众多实现方法都没有办法达到纯原生的性能.一般这些的话有几种不同的选择: css3动画 javascript动画 原生动画 css3动画非常的消耗性能,如果某一个元素用到css3动画可能还看不出来,但大面积或过场使用css3动画会让

纯C++打造的Splash Screen类(打造专业的启动画面)

Introduction 每一个应用程序可能都需要一个"about box"和程序启动时一个"splash screen"(启动画面),大多数开发者都使用自带的""about dialog"".我创建了一个类CSplashScreen,都可以处理这两者,使开发变的容易,有趣!从小的对话框组件程序到需要加在几分复杂程序,我都会使用这个类. 这个类有两个文件组成,SplashScreen.h 和 SplashScreen.cpp.

一款纯html5实现的人跑步动画

今天给大家分享一款纯html5实现的人跑步动画.这款动画中实现了人跑步的动画,且上面有三个按钮,分别是选择让这个跑步的拿什么武器,第一个是拿了一把剑,第二个是拿了一把斧头,第三个是不拿任保东西.效果图如下: 在线预览   源码下载 实面的代码. html代码: <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink&

HTML5 Canvas爱心时钟代码

这是一款数字时钟动画,数字又多个小爱心组成,又何问起整理,随着时间推进,每一秒钟新数字替换旧数字,旧数字离去使用天女散花动画,花是五颜六色的. 查看效果:http://hovertree.com/texiao/html5/48/ 推荐其他时钟:http://hovertree.com/h/bjaf/o0yqj1ly.htmhttp://hovertree.com/h/bjaf/hoverclock.htm 代码如下: <!DOCTYPE html> <html> <head&