`

html5 Canvas 钟表

阅读更多

html5 canvas 画钟表例子,参考别人的例子,整理完成,有详细注释

参考:http://www.html5tricks.com/demo/html5-canvas-circle-clock/index.html

 

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<canvas id="myCanvas" width="400" height="400" style="border:5px solid #888;background-color:#edf;"></canvas>
</body>
</html>

 

	var c = document.getElementById('myCanvas').getContext('2d');
	function clock(){
		//清空画布
		c.clearRect(0,0,400,400);
		var data = new Date();
		var sec =data.getSeconds();
		var min =data.getMinutes();
		var hour=data.getHours();
        var year=data.getFullYear();
        var month=data.getMonth()+1;
        var day =data.getDate();

		//保存当前环境的状态
		c.save();
		//重新映射画布上的 (0,0) 位置
		c.translate(200,200);
		//旋转当前绘图(逆时针旋转1/4的圆路径)
		c.rotate(-2*Math.PI/4);

		//分钟刻度线(画60个刻度线)
		for(var i=0;i<60;i++){
			c.beginPath();
			c.strokeStyle = "#f00";
			c.lineWidth = 5;
			c.moveTo(110,0);
			c.lineTo(120,0);
			c.stroke();
			//每个6deg画一个时钟刻度线(顺时针旋转1/60的圆路径)
			c.rotate(2*Math.PI/60);
			c.closePath();
		}

		//时钟刻度线(画12个刻度线)
		for(var i=0;i<12;i++){
			c.beginPath();
			c.strokeStyle = "#000";
			c.lineWidth = 8;
			c.moveTo(100,0);
			c.lineTo(120,0);
			c.stroke();
			//每个30deg画一个时钟刻度线(顺时针旋转1/12的圆路径)
			c.rotate(2*Math.PI/12);
			c.closePath();
		}

		c.rotate(-1);
		//时钟刻度数字(画12个刻度数字)
		for(var i=0;i<12;i++){
			c.beginPath();
			c.strokeStyle = "blue";
			c.lineWidth = 2 ;
            c.strokeText(i+1,0,90);
			//每个30deg画一个时钟刻度线
			c.rotate(2*Math.PI/12);
			c.closePath();
		}
		c.rotate(1);

		//时间显示
		c.rotate(2*Math.PI/4);
        c.font="30px 宋体";
        c.strokeText(year+"-"+month+"-"+day+" "+hour+":"+min+":"+sec,-130,180);
		c.rotate(-2*Math.PI/4);
		
		//外表盘
		c.beginPath();
		c.strokeStyle = "pink";
		c.lineWidth = 12 ;
		//画圆
		c.arc(0,0,135,0,Math.PI*2);
		c.stroke();
		c.closePath();

		//画时针
		hour = hour>12?hour-12:hour;
		c.beginPath();
		//保存当前环境的状态
		c.save();
		//顺时针旋转当前时针指向所形成的圆弧路径
		c.rotate(2*Math.PI/12*hour+2*Math.PI/12/60*min+2*Math.PI/12/3600*sec);
		c.strokeStyle = "yellowgreen";
		c.lineWidth = 4;
		c.moveTo(-20,0);
		c.lineTo(50,0);
		c.stroke();
		//返回之前保存过的路径状态和属性
		c.restore();
		c.closePath();

		//画分针
		c.beginPath();
		//保存当前环境的状态
		c.save();
		//顺时针旋转当前分针指向所形成的圆弧路径
		c.rotate(2*Math.PI/60*min+2*Math.PI/60/60*sec);
		c.strokeStyle = "springgreen";
		c.lineWidth = 3;
		c.moveTo(-30,0);
		c.lineTo(70,0);
		c.stroke();
		//返回之前保存过的路径状态和属性
		c.restore();
		c.closePath();

		//画秒针
		c.beginPath();
		//保存当前环境的状态
		c.save();
		//顺时针旋转当前秒针指向所形成的圆弧路径
		c.rotate(2*Math.PI/60*sec);
		c.strokeStyle = "red";
		c.lineWidth = 2 ;
		c.moveTo(-40,0);
		c.lineTo(120,0);
		c.stroke();
		//返回之前保存过的路径状态和属性
		c.restore();
		c.closePath();

		c.restore();
	}
	clock();
	setInterval(clock,1000);

 

 

  • 大小: 27.7 KB
分享到:
评论

相关推荐

    html5canvas 写的指针式钟表

    在这个“html5canvas 写的指针式钟表”项目中,我们看到的是一个利用HTML5 Canvas、JavaScript以及可能的一些CSS技术来创建的实时钟表模拟器。这个钟表不仅美观,还能与用户的本地计算机时间保持同步,提供准确的...

    HTML5canvas写的酷炫钟表

    "HTML5 Canvas写的酷炫钟表"是一个基于这个技术实现的3D钟表项目,它展示了Canvas在动态视觉效果上的潜力。在这个项目中,我们将探讨HTML5 Canvas的基础知识、3D渲染原理以及如何利用JavaScript驱动实时动画。 首先...

    使用canvas绘制钟表

    在HTML5中,Canvas元素提供了一个可编程的2D绘图环境,允许开发者直接在网页上绘制图形。本教程将详细介绍如何使用canvas绘制一个动态的钟表,这涉及到JavaScript和Canvas API的基础知识。 首先,我们需要在HTML...

    html5 canvas绘制时钟表时间特效代码

    在HTML5 Canvas上绘制时钟表时间特效,是利用Canvas API提供的各种绘图函数来模拟真实世界中的钟表行为,如指针转动、时间更新等,从而为网页增添动态视觉效果。 首先,我们需要理解Canvas的基本结构。HTML5的`...

    HTML5 Canvas指针时钟表特效.zip

    在这个“HTML5 Canvas指针时钟表特效”项目中,我们利用Canvas API构建了一个炫酷的时钟界面,适用于个性化博客或其他需要显示时间的网页。 首先,我们需要了解Canvas的基本结构。在HTML中,`&lt;canvas&gt;`元素提供了一...

    HTML5实现钟表

    使用HTML5的Canvas做的一个钟表小程序,可以作为入门学习!

    html5 canvas绘制时钟表时间.zip

    这个“html5 canvas绘制时钟表时间”项目就是利用Canvas API来实现一个实时显示时间的时钟效果。下面将详细解释相关知识点。 1. **HTML5 Canvas 基础**: - Canvas 是HTML5中的一个元素,通过JavaScript API提供了...

    html5 canvas绘制时钟表时间效果源码下载

    在本文中,我们将深入探讨如何使用HTML5 Canvas绘制一个动态更新的时间显示,即一个模拟时钟表的效果。 首先,我们需要在HTML文档中创建一个`&lt;canvas&gt;`元素,为其指定一个ID以便于通过JavaScript进行操作: ```...

    HTML5 Canvas绘制时钟

    HTML5 Canvas是一个强大的Web绘图工具,允许开发者在网页上直接进行图形绘制,无需借助Flash或其他插件。这篇博文“HTML5 Canvas绘制时钟”旨在介绍如何利用Canvas API创建一个实时更新的数字或指针式时钟。我们将...

    使用Canvas制作的钟表

    Canvas钟表控件,使用方法如下: &lt;!doctype html&gt; &lt;html&gt; &lt;script type="text/javascript" src="Clock.js"&gt;&lt;/script&gt; &lt;canvas width='500' height='500' id='clock'&gt;&lt;/canvas&gt; initClock('clock...

    HTML5制作简单的钟表

    本教程将详细讲解如何利用HTML5来制作一个简单的钟表。 首先,HTML5的核心在于其语义化标签,这些标签如`&lt;header&gt;`, `&lt;nav&gt;`, `&lt;article&gt;`, `&lt;section&gt;`等,帮助我们更好地组织页面结构。在制作钟表的场景下,我们...

    HTML5+css3钟表网页特效

    2. `&lt;canvas&gt;`元素:这是HTML5中的一个绘图区域,允许开发者通过JavaScript进行动态图形绘制,是实现钟表指针动画的关键。 3. `&lt;time&gt;`元素:虽然在这个特定的特效中可能不直接使用,但用于表示日期和时间,有助于...

    html5 canvas圆形时钟代码.zip

    HTML5 Canvas是HTML5新增的一项强大特性,它允许开发者在网页上直接绘制图形,从而创建出丰富的交互式用户界面。这个“html5 canvas圆形时钟代码.zip”压缩包包含了一个利用Canvas API创建的本地时钟的示例。下面将...

    canvas实现钟表效果

    在本文中,我们将深入探讨如何使用HTML5的Canvas API来创建一个实时的钟表效果。Canvas是一个强大的图形绘制工具,允许开发者通过JavaScript直接在网页上绘制图形。在钟表的例子中,我们主要利用了Canvas的绘图方法...

    canvas钟表.pdf

    关于网页的canvas画布生成时钟的pdf,采用的JavaScript写,可以在网页中生成一个时钟,里面是直接的代码

    canvas画钟表源码

    利用canvas实现web端钟表的展示,同时加强我们对canvas各项属性和方法的印象和运用

    js html5制作简易的时钟表代码

    在JavaScript和HTML5的帮助下,我们可以轻松创建一个动态的、实时更新的时钟表。这个时钟表能够显示当前的时间,并且随着每一秒的流逝而自动更新。以下将详细讲解如何利用这两个技术实现这一功能。 首先,我们需要...

Global site tag (gtag.js) - Google Analytics