<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
#c{
background:#ccc;
}
</style>
</head>
<body>
<canvas id="c" width="400" height="400"></canvas>
</body>
</html>
<script>
var cd=document.getElementById("c");
var c=cd.getContext("2d"); c.save();
c.arc(200,200,100,0,2*Math.PI);
c.stroke();
c.restore(); //绘制秒盘
c.save();
c.translate(200,200);
c.beginPath();
for(var i=0;i<60;i++){
c.moveTo(95,0);
c.lineTo(100,0);
c.rotate(6*Math.PI/180);
}
c.closePath();
c.stroke();
c.restore(); //绘制时盘 c.save();
c.translate(200,200);
c.beginPath();
for(var i=0;i<12;i++){
c.moveTo(90,0);
c.lineTo(100,0);
c.rotate(30*Math.PI/180);
}
c.closePath();
c.stroke();
c.restore(); fn(); function fn() { var time, h, m, s;
time = new Date();
h = time.getHours();
m = time.getMinutes();
s = time.getSeconds();
h = h - 12;
//时针;
c.save();
c.beginPath();
c.lineWidth = "3";
c.lineCap = "round";
c.moveTo(200, 200);
c.arc(200, 200, 50, (-90 + h * 30+(m/2)) * Math.PI / 180, (-90 + h * 30+(m/2)) * Math.PI / 180);
c.closePath();
c.stroke();
c.restore(); //分针
c.save();
c.beginPath();
c.lineWidth = "1";
c.lineCap = "round";
c.moveTo(200, 200);
c.arc(200, 200, 62, (-90 + m * 6) * Math.PI / 180, (-90 + m * 6) * Math.PI / 180);
c.closePath();
c.stroke();
c.restore(); // 秒针 c.save();
c.beginPath();
c.moveTo(200, 200);
c.arc(200, 200, 62, (-90 + s * 6) * Math.PI / 180, (-90 + s * 6) * Math.PI / 180);
c.closePath();
c.stroke();
c.restore();
} var tsd=setInterval(function(){
c.save();
c.clearRect(130,130,140,140);
fn();
c.restore();
},1000)
</script>

canvas 时钟案例的更多相关文章

  1. Coffeescript实现canvas时钟

    前言 参照Mozilla 官方教程,要在Canvas上画动画时钟,思路非常有意思. 把动画看作是多个帧组成,定时每个时间点在Canvas上画一帧来实现动画.而Mozilla 官方教程画图实现的思路有意 ...

  2. 》》canvas时钟

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  3. 原生js之canvas时钟组件

    canvas一直是前端开发中不可或缺的一种用来绘制图形的标签元素,比如压缩上传的图片.比如刮刮卡.比如制作海报.图表插件等,很多人在面试的过程中也会被问到有没有接触过canvas图形绘制. 定义 ca ...

  4. Canvas 入门案例

    五.  Canvas 入门案例 1.  canvas 圆形绘制 <!DOCTYPE html> <html lang="en"> <head> ...

  5. 前端特效demo | 值得收藏的6个 HTML5 Canvas 实用案例

    HTML5 动画在Canvas 上得到了充分的发挥,我们 VIP 视频也分享过很多相关的动画特效制作视频,这次给大家带来 6 款超炫酷的HTML5 canvas 动画的 demo,一起来看看吧~ 文内 ...

  6. HTML5之Canvas时钟(网页效果--每日一更)

    今天,带来的是使用HTML5中Canvas标签实现的动态时钟效果. 话不多说,先看效果:亲,请点击这里 众所周知,Canvas标签是HTML5中的灵魂,HTML5 Canvas是屏幕上的一个由Java ...

  7. Canvas - 时钟绘制

    导语:距离上一次写canvas,已经过去两年半,如今业务需要,再次拾起,随手记录. [思考] 时钟的绘制主要在于圆的绘制:1. 使用context.arc()方法直接绘制圆或圆弧: 2. 使用圆的方程 ...

  8. html5 canvas时钟

    基础知识点:                canvas标签只是图形容器,您必须使用脚本来绘制图形. getContext() 方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性.——获取上 ...

  9. canvas时钟效果

    话不多说,直接上代码 <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/x ...

随机推荐

  1. 【JZOJ 3910】Idiot 的间谍网络

    题面: Description 作为一名高级特工,Idiot 苦心经营多年,终于在敌国建立起一张共有n 名特工的庞大间谍网络. 当然,出于保密性的要求,间谍网络中的每名特工最多只会有一名直接领导.现在 ...

  2. yii日志保存机制

    一.修改yii框架的配置文件(main.php) 'log' => array( 'class' => 'CLogRouter', 'routes' => array( array( ...

  3. 简洁的Asp.net菜单控件

    http://www.cnblogs.com/ruinet/archive/2009/11/10/1599984.html asp.net自带的菜单控件采用的table和javascript,导致生成 ...

  4. C#设计模式:解释器模式(Interpreter Pattern)

    一,C#设计模式:解释器模式(Interpreter Pattern) 1,解释器模式的应用场合是Interpreter模式应用中的难点,只有满足“业务规则频繁变化,且类似的模式不断重复出现,并且容易 ...

  5. 03.AutoMapper 之反向映射与逆向扁平化(Reverse Mapping and Unflattening)

    https://www.jianshu.com/p/d72400b337e0 AutoMapper现在支持更丰富的反向映射支持. 假设有以下实体: public class Order { publi ...

  6. spark(2)

    1.spark模块 -------------------------------------- (1)Spark Core //核心库 (2)Spark SQL //核心库 (3)Spark Str ...

  7. SpringBoot_04springDataJPA

    说明:底层使用Hibernate 一.springDataJPA和mybatisPlus的使用区别 第一步: 把mybatisPlus的依赖.配置删除 包括:实体类的注解.引导类的mapperScan ...

  8. JS的for循环包裹异步函数的问题

    有个循环,循环一个异步回调,为啥回调引用的循环值都是最后一步循环的循环值?然后,又有些时候无论什么循环值都得不到? var arr = [1,3,5,7,9]; var arrLength = arr ...

  9. 10年前文章_嵌入开发使用的服务器配置 tftp ,http,nfs

    tftp server 安装 dnsmasq,  在目录 /etc/dnsmasq.d 下生成包含如下内容的配置文件 tftp.conf enable-tftptftp-root=/tftpboot ...

  10. php内置函数分析之array_sum()

    PHP_FUNCTION(array_sum) { zval *input, *entry, entry_n; if (zend_parse_parameters(ZEND_NUM_ARGS(), & ...