h5做的时钟

效果图:

源代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>时钟</title>
</head>
<body>
<canvas id="clock" width="500" height="500">
你的浏览器不支持canvas标签,无法看到时钟。
</canvas>
<script type="text/javascript">
var clock=document.getElementById("clock");
var cxt=clock.getContext(‘2d‘);
function drawclock(){
//清除画布
cxt.clearRect(0,0,500,500);
var now=new Date();
var sec=now.getSeconds();
var min=now.getMinutes();
var hour=now.getHours();
hour=hour+min/60;
//将小时转换为12小时
hour=hour>12?hour-12:hour;

//表盘
cxt.beginPath();
cxt.lineWidth=10;
cxt.strokeStyle="green";
cxt.arc(250,250,200,0,360,false);
cxt.stroke();
cxt.closePath();

//刻度
//时刻度
for(var i=0;i<12;i++){
cxt.save();
cxt.lineWidth=7;
cxt.strokeStyle="black";
cxt.translate(250,250);//设置0,0点
cxt.rotate(i*30*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.lineWidth=3;
cxt.strokeStyle="black";
cxt.translate(250,250);
cxt.rotate(i*6*Math.PI/180);
cxt.beginPath();
cxt.moveTo(0,-180);
cxt.lineTo(0,-190);
cxt.closePath();
cxt.stroke();
cxt.restore();
}

//时针
//设置时针风格
cxt.save();
cxt.lineWidth=7;
cxt.beginPath();
cxt.strokeStyle="black";
cxt.translate(250,250);
cxt.rotate(hour*30*Math.PI/180);
cxt.beginPath();
cxt.moveTo(0,-130);
cxt.lineTo(0,18);
cxt.closePath();
cxt.stroke();
cxt.restore();

//分针
cxt.save();
cxt.lineWidth=5;
cxt.beginPath();
cxt.strokeStyle="black";
cxt.translate(250,250);
cxt.rotate(min*6*Math.PI/180);
cxt.beginPath();
cxt.moveTo(0,-150);
cxt.lineTo(0,18);
cxt.closePath();
cxt.stroke();
cxt.restore();
//秒针
cxt.save();
cxt.lineWidth=2;
cxt.beginPath();
cxt.strokeStyle="red";
cxt.translate(250,250);
cxt.rotate(sec*6*Math.PI/180);
cxt.beginPath();
cxt.moveTo(0,-163);
cxt.lineTo(0,18);
cxt.closePath();
cxt.stroke();
//画出时针,分针,秒针交叉点
cxt.beginPath();
cxt.fillStyle="gray";
cxt.strokeStyle="red";
cxt.arc(0,0,5,0,360,false);
cxt.fill();
cxt.closePath();
cxt.stroke();

cxt.beginPath();
cxt.fillStyle="gray";
cxt.strokeStyle="red";
cxt.arc(0,-140,5,0,360,false);
cxt.fill();
cxt.closePath();
cxt.stroke();
cxt.restore();
}
drawclock();
//实验setINterval
setInterval(drawclock,1000);
</script>
</body>
</html>

注意:在写代码是一定要先剖析清楚你要做什么,具有哪些步骤,先罗列好,然后一步步的实现,写的时候每写好一个步骤就调试一个,看效果如何。

时间: 2024-08-10 02:10:46

h5做的时钟的相关文章

h5做app和原生app有什么区别?

H5开发的web APP和原生APP的区别有以下几个方面:一.开发方面 原生App ⊙ 每一种移动操作系统都需要独立的开发项目⊙ 每种平台都需要独立的开发语言.Java(Android), Objective-C(iOS)以及Visual C++(Windows Mobile)等等⊙ 需要使用各自的软件开发包,开发工具以及各自的控件 移动Web App⊙ 因为运行在移动设备的浏览器上,所以只需要一个开发项目⊙ 这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(P

canvas做的时钟,学习下

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

用JS做的时钟

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 3 <head> 4 &l

h5 html5 模拟时钟 页面

<!DOCTYPE html> <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>time<

canves做的时钟目前已经开源

git地址: https://github.com/jidanji/canves-clock/tree/1.0.1 项目截图 原文地址:https://www.cnblogs.com/sexintercourse/p/12053816.html

H5 canvas圆形的时钟

今天用H5中的canvas标签做一个时钟,H5中有很多好用的新增标签,真的很不错. 1.canvas标签介绍 <canvas> 标签定义图形,比如图表和其他图像,你必须使用脚本来绘制图形.在画布上(Canvas)画一个红色矩形,渐变矩形,彩色矩形,和一些彩色的文字. HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成.不过不是所有的浏览器都支持这个标签的,支持的有谷歌4.0,ie9.0,火狐2.0等. 2.时钟的绘制第一步 在html中

浅谈无线h5开发

最近一直在做h5的项目,对h5开发有了一定的理解.首先h5开发并不是指的html5的开发,而是指无线端的web开发,至于为什么叫h5开发,我觉得一方面是因为html5近几年还是挺受关注,另一方面h5在无线端有比较好的支持. 大概从去年开始,好多人提出了pc已死的说法.其实比不是pc变弱了,反而是用户在不断增长.至于说pc已死,是因为无线实在是增长的太快了,就拿淘宝双十一的成交量来看,大部分的流量已经转向了无线.所以作为一名前端工程师,h5几乎已经成为必会技能. h5 vs pc 首先来对比一下h

WEB前端开发学习----9. 使用canvas来画个时钟

canvas元素在html5中的重要性非同一般.配合JS让我们实现了在浏览器页面中作画的强大功能.不再单单依靠图片,flash等外部文件,减少http请求,从而网页加载速度更加快捷. 简单的线段: 看个小演示  canvas小房子 不用函数累死人.... 旋转: 使用提供的rotate()方法.需要注意的是,在旋转前,应该重新定位原点.一般来说将要旋转的图像的端点重定向为原点,以此为基础来旋转.也就是说先定位,再设置旋转角度,最后画图.看个演示  canvas 扇子.这样要比一道一道的画线方便许

h5调用底层接口知识总结

本文标签: h5调用底层接口 h5 h5调用本地摄像头 前端时间使用HTML5做了一个WEB端APP,其中用到了H5页面调用手机摄像头的功能,当时也是花了不少时间去研究.最终是采用了HTML5plus(HTML5+)的方式完成了该功能,现将具体方法简单介绍下,并讲解下使用的注意事项.放在服务器上然后浏览就可以了,只支持Chrome和Safari核的浏览器,QQ浏览器,Chrome,Safari浏览器都可以.在不同的手机和浏览器上面展现的方式不一样.这是html5官方文档地址,里面有关于h5或js