用html+css+javascript制作圆形时钟

  制作好的效果如下:

  表盘、刻度和数字全都是用html+css完成的。

  html+css代码如下:

<!DOCTYPE html>
<html>
<head>
	<title>圆形时钟</title>
	<style type="text/css">
		#div1{
			width: 500px;
			height: 500px;
			border:1px solid black;
			border-radius: 50%;
			margin: auto;
			position: relative;
		}
		.clockPanel{
			width: 500px;
			border-top: 1px solid black;
			position: absolute;
			margin-top: 250px;
			transform: rotate(0deg);
		}
		#div2{
		width: 470px;
		height: 470px;
		border-radius: 50%;
		background-color: white;
		position: absolute;
		margin: 15px;
		}
		.shuzi{
		width: 10px;
		height: 470px;
		position: absolute;
		margin-left: 245px;
		margin-top: 15px;
		}
		#div3{
			width: 30px;
			height: 30px;
			border-radius: 50%;
			background-color: blue;
			position: absolute;
			margin: 235px;
		}
		#hourPoint{
			height: 300px;
			position: absolute;
			margin-left: 250px;
			margin-top: 100px;
			transform: (0deg);

		}
		#hourPoint div{
			height: 150px;
			border-left: 8px solid black;
			position: absolute;
			margin-left: -8px;
			transform: (0deg);

		}
		#minutePoint {
			height: 360px;
			position: absolute;
			margin-left: 250px;
			margin-top: 70px;
			transform: rotate(0deg);

		}
		#minutePoint div{
			height: 180px;
	 		border-left: 5px solid black;
			position: absolute;
			margin-left: -5px;
			transform: rotate(0deg);

		}
		#secondPoint{
			height: 420px;
			position: absolute;
			margin-left: 250px;
			margin-top: 40px;
			transform: rotate(0deg);

		}
		#secondPoint div{
			height: 210px;
			border-left: 2px solid black;
			position: absolute;
			margin-left: -2px;
		}
		p{
			font: 20px bold;
		}
	</style>
</head>
<body>
<div id="div1">
	<div id="div2"></div>
	<div class="shuzi"><p>12</p><p style="margin-top: 390px;">6</p></div>
	<div class="shuzi" style="transform: rotate(30deg);"><p style="transform: rotate(-30deg);">1</p><p style="margin-top: 390px; transform: rotate(-30deg);">7</p></div>
	<div class="shuzi" style="transform: rotate(60deg);"><p style="transform: rotate(-60deg);">2</p><p style="margin-top: 390px; transform: rotate(-60deg);">8</p></div>
	<div class="shuzi" style="transform: rotate(90deg);"><p style="transform: rotate(-90deg);">3</p><p style="margin-top: 390px;transform: rotate(-90deg);">9</p></div>
	<div class="shuzi" style="transform: rotate(120deg);"><p style="transform: rotate(-120deg);">4</p><p style="margin-top: 390px;transform: rotate(-120deg);">10</p></div>
	<div class="shuzi" style="transform: rotate(150deg);"><p style="transform: rotate(-150deg);">5</p><p style="margin-top: 395px;transform: rotate(-150deg);">11</p></div>
	<div id="hourPoint">
		<div></div>
	</div>
	<div id="minutePoint">
		<div></div>
	</div>
	<div id="secondPoint">
		<div></div>
	</div>
	<div id="div3"></div>
</div>
<script type="text/javascript" src="clock.js"></script>
</body>
</html>

  js代码如下:

var minute;
var hour;
var second;
function createClock(){
	var circle=document.getElementById("div1");
	var smallcircle=document.getElementById("div2");
	var angle=0;
	for(var i=0;i<30;i++){
		var clockPanel=document.createElement("div");
		//clockPanel.setAttribute("width","500px");
		//clockPanel.style.borderTop="1px solid black"
		clockPanel.setAttribute("class","clockPanel");
		circle.appendChild(clockPanel);
		circle.insertBefore(clockPanel,smallcircle);
		clockPanel.style.transform="rotate("+angle+"deg)";
		angle+=6;
		if(i%5==0){
			clockPanel.style.border="2px solid black";
		}
	}
}

function getDate(){
	 var date=new Date();
	 hour=date.getHours();
	 minute=date.getMinutes();
	 second=date.getSeconds();
}
var angle1=6;
var angle2=6;
var angle3=6;
function secondPointFresh(){
	//alert("dhf");
	//alert(secondPoint.style.transform);
	second++;
	if(second==60){
		second=0;
		minute++;
		if(minute==60){
			minute=0;
			hour++;
			if(hour==12)
				hour=0;
        }
	}
	angle1=second*6;
	var secondPoint=document.getElementById("secondPoint");
	secondPoint.style.transform="rotate("+angle1+"deg)";
	angle2=(minute*6);
	var minutePoint=document.getElementById("minutePoint");
	minutePoint.style.transform="rotate("+angle2+"deg)";
	angle3=((hour%12)*30)+(minute*0.5);
	var hourPoint=document.getElementById("hourPoint");
	hourPoint.style.transform="rotate("+angle3+"deg)";
}

createClock();
getDate();
secondPointFresh();
setInterval("secondPointFresh()",1000);

  

原文地址:https://www.cnblogs.com/njzy8856/p/8462027.html

时间: 2024-08-02 14:47:04

用html+css+javascript制作圆形时钟的相关文章

javascript 实现圆形时钟秒针同步

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <st

用html+css+javascript制作日历

这是做好后的效果.不是很美观,还可以进一步完善. html+css代码如下: <!DOCTYPE html> <html> <head> <title>日历</title> <style type="text/css"> #div1{ width:425px; height:420px; border:1px solid gray; } #div2{ width: 390px; height: 390px; mar

用CSS变形创建圆形导航

在这个教程中,我会教你使用CSS变形制作圆形导航. 我会带你一步步地创建样式,讲解背后的数学知识和简单的逻辑,让你对这技术有清晰的认识. 正如我提到的,使用CSS变形创建样式,会用到相关的基础数学知识.但是不必担心, 用到的数学非常简单,我会带你一步步地客克服它. 我要指出原技术属于Ana Tudor.我把它修改成我想要效果,这也是我希望你的在教程结束时去做的:对这技术有深入而且清晰的认识,开始查阅资料并且构建自己的样式. 结构 我们要创建一个导航,因此我们会从常见的导航结构开始.我们需要一个d

js绘制圆形时钟

纯js制作圆形时钟 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> *{ margin:0; padding:0; } body{ background: grey; } .box{ width:320px; height: 320px; borde

一款纯JavaScript的圆形电子时钟

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>一款纯JavaScript的圆形电子时钟丨

如何利用iframe标签以及Javascript制作时钟?

如何利用iframe标签以及Javascript制作时钟? 如何制作一个时钟呢?效果如下图所示: 这里的时钟会不停的走,但是下面的页面是不会变得,这样就实现了我们想要的效果了.下面我将分为以下几个方面来讲: javascript中的Date引用类型 几种效果不佳的实例 <iframe>标签 最终效果不错的实例 如果大家想直接看最终不错的效果实例,可以直接点击这里. 第一部分:Date引用类型 1.日期对象可以直接使用new操作符和Date构造函数构造.代码如下: 1 var date=new

如何用iframe标签以及Javascript制作时钟?

如何利用iframe标签以及Javascript制作时钟? 如何制作一个时钟呢?效果如下图所示: 这里的时钟会不停的走,但是下面的页面是不会变得,这样就实现了我们想要的效果了.下面我将分为以下几个方面来讲: javascript中的Date引用类型 几种效果不佳的实例 <iframe>标签 最终不错的效果实例 如果大家想直接看最终不错的效果实例,可以直接点击这里. 第一部分:Date引用类型 1.日期对象可以直接使用new操作符和Date构造函数构造.代码如下: var date=new Da

使用 CSS &amp; jQuery 制作一款漂亮的多彩时钟

大家可能见过各种各样的时钟效果,比如多年前非常流行的 Flash 制作的各种新奇的动画时钟,现在的 Web 开发者们又开始应用 CSS3 和 Canvas 等最新技术来实现.而今天这里要分享的这款漂亮的多彩时钟效果大家不一定见过,赶紧来看看. 您可能感兴趣的相关文章 Web 开发中很实用的10个效果[附源码下载] 精心挑选的优秀jQuery Ajax分页插件和教程 12款经典的白富美型 jQuery 图片轮播插件 让网站动起来!12款优秀的 jQuery 动画插件 精心挑选的美轮美奂的 jQue

Java(随笔)——利用HTML,CSS,JavaScript,JQuery编写的简易计算器

一.利用刚学过的前端知识做一个简易的计算器里边使用到了HTML,CSS,JavaScript以及JQuery的知识代码如下:(1)利用CSS设计了计算器外形样式:(2)利用JavaScript实现了建议计算器的功能:代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>简易计算器</title> <link rel="styl