HTML5小时钟
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Examples</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet">
<style>
canvas{
background: #eee;
}
</style>
<script>
window.onload=function(){
var con=document.getElementById('con');
var oCanvas=con.getContext("2d");
var startX=200;
var startY=200;
var radius=100; setInterval(function(){
oCanvas.clearRect(0, 0, 400, 400);
// 阴影
oCanvas.shadowColor="#888";
oCanvas.shadowOffsetX=1;
oCanvas.shadowOffsetY=1;
oCanvas.shadowBlur=3; // 渐变
var grd=oCanvas.createRadialGradient(startX, startY,1, startX, startY,100);
grd.addColorStop(0, '#efefef');
grd.addColorStop(1, "#cecece");
oCanvas.fillStyle=grd;
oCanvas.lineWidth=5;
oCanvas.beginPath();
oCanvas.strokeStyle="#a34";
oCanvas.arc(startX, startY, radius, 0, 2*Math.PI);
oCanvas.stroke();
oCanvas.fill(); // 去掉阴影
oCanvas.shadowColor="#888";
oCanvas.shadowOffsetX=0;
oCanvas.shadowOffsetY=0;
oCanvas.shadowBlur=0; // 画刻度
dragMark();
var myDate=new Date();
var H=myDate.getHours()*30+myDate.getMinutes()/2-90;
var M=myDate.getMinutes()*6-90;
var S=myDate.getSeconds()*6-90;
// 时针
dragT("#000",4,55,H);
// 分针
dragT("#888",3,65,M);
// 秒针
dragT("#f10",2,80,S);
// 画中心点
oCanvas.beginPath();
oCanvas.fillStyle="#ccc";
oCanvas.arc(200, 200, 6, 0, 2*Math.PI);
oCanvas.fill();
}, 1000); function dragT(color,lw,radius,angle){
oCanvas.beginPath();
oCanvas.strokeStyle=color;
oCanvas.lineWidth=lw;
oCanvas.moveTo(startX, startY);
oCanvas.lineTo(startX+radius*Math.cos(angle*Math.PI/180), startY+radius*Math.sin(angle*Math.PI/180));
oCanvas.stroke();
} function dragMark(){
for(var i = 0; i < 60; i++) {
var lw=2;
var radius1=radius-5;
var angle=i*6*Math.PI/180;
oCanvas.strokeStyle="#888";
if (i%5==0) {
radius1=radius-8;
lw=3;
oCanvas.strokeStyle="#666";
};
// if(i%15==0){
// var s=(i*6-90)*Math.PI/180;
// oCanvas.fillStyle="#000"
// oCanvas.fillText(i/5, startX+(radius-15)*Math.cos(s), startY+(radius-15)*Math.sin(s));
// }
oCanvas.lineWidth=lw;
oCanvas.beginPath();
oCanvas.moveTo(startX+radius*Math.cos(angle), startY+radius*Math.sin(angle));
oCanvas.lineTo(startX+radius1*Math.cos(angle), startY+radius1*Math.sin(angle));
oCanvas.stroke();
}; }
}
</script>
</head>
<body>
<canvas width="400" height="400" id="con"></canvas>
</body>
</html>
效果图~

HTML5小时钟的更多相关文章
- 推荐10款超级有趣的HTML5小游戏
HTML5的发展速度比任何人的都想像都要更快.更加强大有效的和专业的解决方案已经被开发......甚至在游戏世界中!这里跟大家分享有10款超级趣味的HTML5游戏,希望大家能够喜欢! Kern Typ ...
- HTML5小游戏UI美化版
HTML5小游戏[是男人就下一百层]UI美化版 之前写的小游戏,要么就比较简单,要么就是比较难看,或者人物本身是不会动的. 结合了其它人的经验,研究了一下精灵运动,就写一个简单的小游戏来试一下. 介绍 ...
- 使用HTML5制作时钟
之前看到别人用HTML5制作时钟,自己也写了一个,这是很久以前写的了,没有注释,现在自己看都晕了(注释的重要性就体现在这边了),找时间加上注释,让自己和别人都比较好理解. <!DOCTYPE h ...
- 【python】实现一个python编程的小时钟!
[本实验内容] 1.GUI.PyQT5介绍2.实现此次实验效果 [一 GUI.PyQt5介绍] 1.Python简介 2.GUI介绍 几个常用的Python GUI库: (1)wxPython (2) ...
- WPF制作的小时钟
原文:WPF制作的小时钟 周末无事, 看到WEB QQ上的小时钟挺可爱的, 于是寻思着用WPF模仿着做一个. 先看下WEB QQ的图: 打开VS, 开始动工. 建立好项目后, 面对一个空荡荡的页面, ...
- js写个小时钟
原生js写个小时钟 一.代码 今天美化博客园自学的哈,分享一下 <!--标题变成时钟--> <div id="Header1_HeaderTitle">&l ...
- Python自制小时钟,并转换为exe可执行程序详解
一,简介Python写完程序,要靠命令来执行太LOW,太低调了,还不华丽了. 再说别人的电脑,都没有Python库,怎么执行,还能不能愉快的一起玩耍了. 所以哪怕只会写一个HelloWorld,也要弄 ...
- css3-手把手 transform 小时钟
学习css3ing,正在学习transfomr,突发奇想用此做个小时钟,开始吧: 准备前期工作,把时钟的表盘,时分秒针,实时时间标签 的大概样子做好,效果如图: html代码如下: <div c ...
- Html5绘制时钟
最近在对Html5比较感兴趣,就用空闲时间做一些小例子进行练习,今天绘制一个走动的时钟,具体如下图所示: 具体思路在上图已有说明,代码如下: <script type="text/ja ...
随机推荐
- DP练习(初级):ZigZag
题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=1259&rd=4493 类似于求最长子串的方法.dp[0 ...
- Android 多点手势识别详解
google 提供的API中,有个类,大家都很熟悉,GestureDetector.使用它,我们可以识别用户通常会用的手势.但是,这个类不支持多点触摸(可能 google认为没有人会在几个手指都在屏幕 ...
- android学习日记10--裁剪区域
裁剪区域 裁剪是画布的一个函数,区域可以是矩形和圆形,也可以通过设置 path 或Region来显示自定义区域,通过不同组合,Android几乎可以支持任意现状的裁剪区域.android.graphi ...
- C 高级编程4 makefile 与 IO
make 与 makefile .目标的语法 目标名:依赖目标 @命令 @命令 make的命令行使用 make -f make 脚本文件 目标名 .目标的划分 demo.mk demo: gcc -c ...
- chrome浏览器更新到chrome 29.0.1547.76 m,多出一些蛋疼的功能来。
更新到chrome 29.0.1547.76 m 的时候,莫名其妙多出一些蛋疼的功能来. 1.alert之类的弹出对话框样式变了,并且位置不是居中的,跑到了最上面去了,如下图. 要把这对话框改回原始状 ...
- MySQL(18):Select- subquery子查询
1. Select- subquery子查询 子查询:是将一条查询语句嵌套在另一条查询语句之中. 2. 案例 需求:查询获得代课天数最多的那个老师的信息. 思路:先获得最多的代课天数是多少天,然后再判 ...
- docker no permmition problem
resolved by: sudo docker run --privileged ....
- WebGoat视频教程下载
WebGoat视频教程下载:http://pan.baidu.com/s/1pJlsfQ7
- CSS选择器优先级
1.类的覆盖顺序和应用的时候引用的顺序没关系,覆盖顺序取决于类定义的顺序 例如: .a{ color:red } .b{ color:green } 由于b晚于a定义,所以b覆盖a,反 ...
- Python基础:1.数据类型(列表)
提示:python版本为2.7,windows系统 1.列表(List) List,是一个有序的集合,可以添加.删除其中的元素. >>> colors = ['red', 'oran ...