<!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小时钟的更多相关文章

  1. 推荐10款超级有趣的HTML5小游戏

    HTML5的发展速度比任何人的都想像都要更快.更加强大有效的和专业的解决方案已经被开发......甚至在游戏世界中!这里跟大家分享有10款超级趣味的HTML5游戏,希望大家能够喜欢! Kern Typ ...

  2. HTML5小游戏UI美化版

    HTML5小游戏[是男人就下一百层]UI美化版 之前写的小游戏,要么就比较简单,要么就是比较难看,或者人物本身是不会动的. 结合了其它人的经验,研究了一下精灵运动,就写一个简单的小游戏来试一下. 介绍 ...

  3. 使用HTML5制作时钟

    之前看到别人用HTML5制作时钟,自己也写了一个,这是很久以前写的了,没有注释,现在自己看都晕了(注释的重要性就体现在这边了),找时间加上注释,让自己和别人都比较好理解. <!DOCTYPE h ...

  4. 【python】实现一个python编程的小时钟!

    [本实验内容] 1.GUI.PyQT5介绍2.实现此次实验效果 [一 GUI.PyQt5介绍] 1.Python简介 2.GUI介绍 几个常用的Python GUI库: (1)wxPython (2) ...

  5. WPF制作的小时钟

    原文:WPF制作的小时钟 周末无事, 看到WEB QQ上的小时钟挺可爱的, 于是寻思着用WPF模仿着做一个. 先看下WEB QQ的图: 打开VS, 开始动工. 建立好项目后, 面对一个空荡荡的页面, ...

  6. js写个小时钟

    原生js写个小时钟 一.代码 今天美化博客园自学的哈,分享一下 <!--标题变成时钟--> <div id="Header1_HeaderTitle">&l ...

  7. Python自制小时钟,并转换为exe可执行程序详解

    一,简介Python写完程序,要靠命令来执行太LOW,太低调了,还不华丽了. 再说别人的电脑,都没有Python库,怎么执行,还能不能愉快的一起玩耍了. 所以哪怕只会写一个HelloWorld,也要弄 ...

  8. css3-手把手 transform 小时钟

    学习css3ing,正在学习transfomr,突发奇想用此做个小时钟,开始吧: 准备前期工作,把时钟的表盘,时分秒针,实时时间标签 的大概样子做好,效果如图: html代码如下: <div c ...

  9. Html5绘制时钟

    最近在对Html5比较感兴趣,就用空闲时间做一些小例子进行练习,今天绘制一个走动的时钟,具体如下图所示: 具体思路在上图已有说明,代码如下: <script type="text/ja ...

随机推荐

  1. [Bootstrap] 1. container & container-fluid

    Container: 居中 <!DOCTYPE html> <html> <head> <title>Blasting Off With Bootstr ...

  2. android学习日记02--Activity简介

    一.Activity活动 学习Android,第一个都会接触Activity滴,Activity表示一个用户界面,是Android应用程序的入口,可以同时有多个界面,但只会显示栈顶的界面. Activ ...

  3. Abap 内表的语法

    ABAP中的内表相当于其他程序设计语言中的二维数组,存储多行结构相同的数据 不同于二维数组,内表在创建后,列结构与列数是固定不变的,而行数是动态增长的  内表支持循环对每行数据进行操作,也支持整体操作 ...

  4. 数据库性能测试---前阿里数据库团队资深DBA杨奇龙

    杨奇龙 前阿里数据库团队资深DBA 主要负责淘宝业务线,经历多次11.11,有海量业务访问DB架构设计经验. 目前就职于有赞科技DBA,负责数据库运维工作,熟悉MySQL 性能优化,故障诊断,性能压测 ...

  5. Linux 服务器相关的一下链接

    Apache 虚拟主机 VirtualHost 配置 以下是各操作系统的配置方法. Redhat Enterprise Linux Ubuntu Linux Windows Mac OS http:/ ...

  6. 聊聊 iOS 开发中的协议

    前言 何为协议,简单来说在OC中我们使用关键字@protocol可以声明一个协议,并在协议中添加多个属性.方法供于遵循者实现,从某个角度上来说,这是一种不同于category机制的category.在 ...

  7. Enable HTTPS in Spring Boot

    Spring-boot-enable-ssl Enable HTTPS in Spring Boot APRIL 14, 2015DRISS AMRI This weekend I answered ...

  8. LLDB调试基本使用

    在平时开发中,我们可能需要调试某些东西,比如查看给服务器发请求时传过去的参数,如果不适用LLDB的话我们用的最多的就是通过NSLog方式去打印,但现在我们可以精简这个步骤,那就是使用LLDB调试命令. ...

  9. posix thread线程

    1. pthread线程通过调用你提供的某些函数开始.这个“线程函数”应该只有一个void*型参数,并返回系统的类型.2. 通过向pthread_create函数传递线程函数的地址和线程函数调用的参数 ...

  10. hadoop安装包的目录结构

    初次接触Hadoop,了解了Hadoop安装包的目录结构,和大家分享下: bin:Hadoop最基本的管理脚本和使用脚本的目录,这些脚本是sbin目录下管理脚本的基础实现,用户可以直接使用这些脚本管理 ...