用H5的canvas做时钟

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>

</head>
<body>
<canvas id="can1" width="500px" height="500px"></canvas>
<script type="text/javascript">
var canvas=document.getElementById(‘can1‘);
var cxt=canvas.getContext(‘2d‘);
function drawClock(){
cxt.clearRect(0,0,500,500);
var date=new Date()
var m=date.getSeconds();
var j=date.getMinutes();
var k=date.getHours();
//表盘
cxt.beginPath();
cxt.strokeStyle="blue";
cxt.lineWidth="10";
cxt.arc(250,250,200,0,360,false);
cxt.stroke();
cxt.closePath();
//表心
cxt.beginPath();
cxt.strokeStyle="#AA1514";
cxt.lineWidth="1";
cxt.arc(250,250,4,0,360,false);
cxt.fill();
cxt.closePath();
//时刻度
for(var i=0;i<12;i++){
cxt.save();
cxt.strokeStyle="black";
cxt.lineWidth="7";
cxt.translate(250,250);
cxt.rotate(30*i*Math.PI/180);
cxt.beginPath();
cxt.moveTo(0,-170);
cxt.lineTo(0,-190);
cxt.closePath();
cxt.stroke();
cxt.restore();
}
//分刻度
for(var i=0;i<60;i++){
cxt.save();
cxt.strokeStyle="black";
cxt.lineWidth="5";
cxt.translate(250,250);
cxt.rotate(6*i*Math.PI/180);
cxt.beginPath();
cxt.moveTo(0,-180);
cxt.lineTo(0,-190);
cxt.closePath();
cxt.stroke();
cxt.restore();
}
//画秒针

cxt.save();
cxt.strokeStyle="black";
cxt.lineWidth="1";
cxt.translate(250,250);
cxt.rotate(6*m*Math.PI/180);
cxt.beginPath();
cxt.arc(0,-130,3,0,360,false);
cxt.fill();
cxt.closePath();
cxt.beginPath();
cxt.moveTo(0,12);
cxt.lineTo(0,-160);
cxt.closePath();
cxt.stroke();
cxt.restore();
//分针
cxt.save();
cxt.strokeStyle="black";
cxt.lineWidth="4";
cxt.translate(250,250);
cxt.rotate(6*j*Math.PI/180);
cxt.beginPath();
cxt.moveTo(0,10);
cxt.lineTo(0,-150);
cxt.closePath();
cxt.stroke();
cxt.restore();
//时针
cxt.save();
cxt.strokeStyle="black";
cxt.lineWidth="6";
cxt.translate(250,250);
cxt.rotate(30*k*Math.PI/180);
cxt.beginPath();
cxt.moveTo(0,8);
cxt.lineTo(0,-140);
cxt.closePath();
cxt.stroke();
cxt.restore();
}

setInterval("drawClock()",1000);

</script>
</body>
</html>

时间: 2024-10-17 13:57:59

用H5的canvas做时钟的相关文章

canvas做的时钟,学习下

canvas标签只是图形容器,您必须使用脚本来绘制图形. getContext() 方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性.——获取上下文对象. getContext("2d") 对象属性和方法,可用于在画布上绘制文本.线条.矩形.圆形等等. fillRect(l,t,w,h):默认颜色是黑色 strokeRect(l,t,w,h):带边框的方块.默认一像素黑色边框 setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式. beginP

html5学习(一)--canvas画时钟

利用空余时间学习一下html5. 1 <!doctype html> 2 <html> 3 <head></head> 4 <body> 5 <canvas id="clock" width="500" height="500"></canvas> 6 <script> 7 var clock=document.getElementById('cloc

HTML5 canvas 做画板画图 可以做电子白板

HTML5 canvas 做画板画图 可以做电子白板 <html> <head> <meta charset="utf-8"> <title>HTML5 canvas 做画板画图 可以做电子白板</title> <style type="text/css"> <!-- #container { position: relative;} #imageView { border: 1px so

我们能用canvas做什么?

什么是Canvas? Canvas元素是HTML5的一部分,允许脚本语言动态渲染位图像.Canvas由一个可绘制地区HTML代码中的属性定义决定高度和宽度.JavaScript代码可以访问该地区,通过一套完整的绘图功能类似于其他通用二维的API,从而生成动态的图形. 我们能用Canvas做些什么? 1. 游戏:毫无疑问,游戏在HTML5领域具有举足轻重的地位.HTML5在基于Web的图像显示方面比Flash更加立体.更加精巧,我认为运用Canvas制作的图像能够令HTML5游戏在流畅度和跨平台方

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&

html5 canvas做的图表插件

用highchart的时候发现它是用svg来画图的,那么用canvas来做怎么样的. 以前做AS图表插件的时候,绘制图画主要用容器的Graphics对象来绘制,而canvas的context和Graphics一样,都可以用来绘制图形. 然后就试着用canvas做了这样一个东西. 具体实现如下,个人表达能力有问题,各位看官还是看源码吧,如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-T

使用canvas绘制时钟并通过class面向对象

使用canvas绘制时钟并通过class面向对象 1.思路分析 钟表可分为静止的刻度和动态的指针两大部分由于指针具有动态性,必然需要定时器实时刷新清空并重绘但刻度部分如果一起清空并重绘会降低性能因此可以使用两个重叠在一起的canvas画板来分别绘制两个部分 2.绘制表盘步骤 2.1.首先获取第一个面板的上下文: var canvas1=document.getElementById("canvas1"); var ctx1=canvas1.getContext("2d&quo

关于h5绘制canvas生成图片的注意点!

1.第一个是关于移动端自适应的问题: 答:如果是最后只要一张canvas生成的图片,而不是要绘制的canvas的图形,则不需要考虑自适应,绘制canvas的时候的宽高,可以直接写成UI提供的图的大小,比如UI提供的图是 750 * 1280 ,则绘制canvas的时候,所有的数据都可以 以375*640来进行计算,固定好即可!这个跟后台绘制图片的原理一样,我们不需要考虑自适应,ui给什么图,或者说我们希望要多大的图片,我们直接绘制即可,因为图片最后自己可以按比例伸缩,默认即是自适应! 2.关于H

使用 canvas画时钟

今天看了H5的canvas,练习使用下.待完善... class Clock { constructor(canvas) { this.canvas = canvas; } draw() { let ctx = this.canvas.getContext("2d"); ctx.setDefault = function() { const default_strokeStyle = "#000000"; this.strokeStyle = default_str