【网页制作】jQuery制作动态指针钟表

jquery + css3 实现钟表效果 说一下原理! 获取当前时间,通过当前时间驱动相对应的指针旋转! 首先,把表盘当做一个圆,它的度数是360°,表盘里总共12个数字,每一个小时所占的角度就是360/12等于30°, 而每一个小时里又分成5个小的刻度,每个刻度是6°,依此推断,秒针每秒旋转6°,转一圈360°也就是一分钟, 分针旋转6°,在此基础上,时针一分钟旋转的度数就是【当前时间 * 30° 】,但是这样计算并不准确,时针旋转30°需要 60分钟,平均一分钟旋转的度数是【30°/ 60 * 6°= 3° 也就是分针在60秒内... 阅读详情

🌈据说,看我文章时 关注、点赞、收藏 的 帅哥美女们 心情都会不自觉的好起来。

前言:
🧡作者简介:大家好我是 user_from_future ,意思是 “ 来自未来的用户 ” ,寓意着未来的自己一定很棒~
✨个人主页:点我直达,在这里肯定能找到你想要的~
👍专栏介绍:Html+Css+JS / jQuery小型网页综合实战 ,一个专注于分享网页制作实例的专栏~

专栏文章直链:
【网页制作】jQuery模拟提交表单生成卡片
【网页制作】制作静态钟表
【网页制作】jQuery控制页面侧边栏的收缩与展开
【网页制作】制作百度网盘登录页
【网页制作】注册表单页
【网页制作】jQuery操作css实现设置箭头图片

人生苦短,我用python

制作要求

这一次终于不是因为要帮助别人才做了,而是因为,觉得之前那个钟表丑,而且还不动,这不,悠闲的我就单独整个动态钟表,这不比那静态钟表好嘛~

制作效果图

在这里插入图片描述

参考源代码

目录结构

└──网页文件夹
	├──num_clock_study1.html
	├──num_clock_study2.html
	├──num_clock_study3.html
	└──num_clock_study4.html

依旧是分布教学(实际上是一开始准备教学她,但实际上她最后要求的图形和我这不一样所以改成自由发挥了)。

num_clock_study1.html

这里面body里可以通过输入 ul#clock>li#scale+li#seconds+li#minutes+li#hours 然后敲个 Tab 键就可以生成那六行了。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>数字时钟_num_clock_study1_画居中圆</title>
		<style>
			* {
				margin: 0;
				padding: 0;
			}

			ul {
				width: 100%;
				height: 100%;
				list-style: none;
				position: relative;
			}

			#clock {
				width: 800px;
				height: 800px;
				margin: 60px auto;
				border-radius: 50%;
				border: 1px solid #000;
				background-color: #FFF;
			}
		</style>
	</head>
	<body>
		<!-- ul#clock>li#scale+li#seconds+li#minutes+li#hours -->
		<ul id="clock">
			<li id="scale"></li>
			<li id="seconds"></li>
			<li id="minutes"></li>
			<li id="hours"></li>
		</ul>
	</body>
</html>

看着代码不多也不少,整出来了个啥?

在这里插入图片描述

居然才整出了个圆?不,这是一个带有分布预算的圆~ 因为接下来哪部分放哪边已经规划好了~

num_clock_study2.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>数字时钟_num_clock_study2_画指针</title>
		<style>
			* {
				margin: 0;
				padding: 0;
			}

			ul {
				width: 100%;
				height: 100%;
				list-style: none;
				position: relative;
			}

			#clock {
				width: 800px;
				height: 800px;
				margin: 60px auto;
				border-radius: 50%;
				border: 1px solid #000;
				background-color: #FFF;
			}

			#seconds {
				left: 400px;
				top: 400px;
				height: 2px;
				width: 350px;
				position: absolute;
				background-color: #0F0;
				transform-origin: 0 50%;
				transform: rotateZ(-90deg);
			}

			#minutes {
				left: 400px;
				top: 400px;
				height: 4px;
				width: 300px;
				position: absolute;
				background-color: #00F;
				transform-origin: 0 50%;
				transform: rotateZ(-60deg);
			}

			#hours {
				left: 400px;
				top: 400px;
				height: 6px;
				width: 200px;
				position: absolute;
				background-color: #F00;
				transform-origin: 0 50%;
				transform: rotateZ(-30deg);
			}
		</style>
	</head>
	<body>
		<!-- ul#clock>li#scale+li#seconds+li#minutes+li#hours -->
		<ul id="clock">
			<li id="scale"></li>
			<li id="seconds"></li>
			<li id="minutes"></li>
			<li id="hours"></li>
		</ul>
	</body>
</html>

增加了30多行,画了三个指针:

在这里插入图片描述

num_clock_study3.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>数字时钟_num_clock_study3_使用jquery画刻度</title>
		<style>
			* {
				margin: 0;
				padding: 0;
			}

			ul {
				width: 100%;
				height: 100%;
				list-style: none;
				position: relative;
			}

			#clock {
				width: 800px;
				height: 800px;
				margin: 60px auto;
				border-radius: 50%;
				border: 1px solid #000;
				background-color: #FFF;
			}

			#seconds {
				left: 400px;
				top: 400px;
				height: 2px;
				width: 350px;
				position: absolute;
				background-color: #0F0;
				transform-origin: 0 50%;
				transform: rotateZ(-90deg);
			}

			#minutes {
				left: 400px;
				top: 400px;
				height: 4px;
				width: 300px;
				position: absolute;
				background-color: #00F;
				transform-origin: 0 50%;
				transform: rotateZ(-60deg);
			}

			#hours {
				left: 400px;
				top: 400px;
				height: 6px;
				width: 200px;
				position: absolute;
				background-color: #F00;
				transform-origin: 0 50%;
				transform: rotateZ(-30deg);
			}

			#scale {
				width: 800px;
				height: 800px;
				position: relative;
				transform: rotateZ(90deg);
				transform-origin: 50% 50%;
			}

			#scale>div {
				top: 380px;
				width: 800px;
				height: 40px;
				line-height: 40px;
				text-align: right;
				position: absolute;
			}

			#scale>div>div {
				float: left;
				width: 20px;
				margin: 0 30px;
				text-align: left;
			}
		</style>
	</head>
	<body>
		<!-- ul#clock>li#scale+li#seconds+li#minutes+li#hours -->
		<ul id="clock">
			<li id="scale"></li>
			<li id="seconds"></li>
			<li id="minutes"></li>
			<li id="hours"></li>
		</ul>
		<script src="jquery-3.4.1.min.js"></script>
		<script>
			// 创建表盘刻度
			for (let index = 1; index <= 60; index++) {
				if (index % 5) {
					$('#scale').append('<div style="transform: rotateZ(' + index * 6 + 'deg)">—</div>');
				} else {
					$('#scale').append('<div style="transform: rotateZ(' + index * 6 + 'deg)"><div style="transform: rotate(' +
						(270 - index * 6) + 'deg)">' + (index / 5) + '</div>⚪</div>');
				}
			}
		</script>
	</body>
</html>

这次用 jQuery 加了刻度,不会像之前一样,巴拉拉一堆代码,简单一个 for 循环和一个条件判断就能生成:

在这里插入图片描述

num_clock_study4.html

不动起来不是我的风格,再加一小段 jQuery 代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>数字时钟_num_clock_study4_使用jquery让时钟动起来</title>
		<style>
			* {
				margin: 0;
				padding: 0;
			}

			ul {
				width: 100%;
				height: 100%;
				list-style: none;
				position: relative;
			}

			#clock {
				width: 800px;
				height: 800px;
				margin: 60px auto;
				border-radius: 50%;
				border: 1px solid #000;
				background-color: #FFF;
			}

			#seconds {
				left: 400px;
				top: 400px;
				height: 2px;
				width: 350px;
				position: absolute;
				background-color: #0F0;
				transform-origin: 0 50%;
				transform: rotateZ(-90deg);
			}

			#minutes {
				left: 400px;
				top: 400px;
				height: 4px;
				width: 300px;
				position: absolute;
				background-color: #00F;
				transform-origin: 0 50%;
				transform: rotateZ(-90deg);
			}

			#hours {
				left: 400px;
				top: 400px;
				height: 6px;
				width: 200px;
				position: absolute;
				background-color: #F00;
				transform-origin: 0 50%;
				transform: rotateZ(-90deg);
			}

			#scale {
				width: 800px;
				height: 800px;
				position: relative;
				transform: rotateZ(90deg);
				transform-origin: 50% 50%;
			}

			#scale>div {
				top: 380px;
				width: 800px;
				height: 40px;
				line-height: 40px;
				text-align: right;
				position: absolute;
			}

			#scale>div>div {
				float: left;
				width: 20px;
				margin: 0 30px;
				text-align: left;
			}
		</style>
	</head>
	<body>
		<!-- ul#clock>li#scale+li#seconds+li#minutes+li#hours -->
		<ul id="clock">
			<li id="scale"></li>
			<li id="seconds"></li>
			<li id="minutes"></li>
			<li id="hours"></li>
		</ul>
		<script src="jquery-3.4.1.min.js"></script>
		<script>
			// 创建表盘刻度
			for (let index = 1; index <= 60; index++) {
				if (index % 5) {
					$('#scale').append('<div style="transform: rotateZ(' + index * 6 + 'deg)">—</div>');
				} else {
					$('#scale').append('<div style="transform: rotateZ(' + index * 6 + 'deg)"><div style="transform: rotate(' +
						(270 - index * 6) + 'deg)">' + (index / 5) + '</div>⚪</div>');
				}
			}
			// 初始化日期、更新时间
			function datetime_init() {
				time = new Date();
				time = {
					'#hours': time.getHours(), // 0-23
					'#minutes': time.getMinutes(), // 0-59
					'#seconds': time.getSeconds() // 0-59
				};
				for (let item in time) {
					$(item).css('transform', "rotateZ(" + ((item === "#hours" ? (time[item] % 12 * 30 +
						time['#minutes'] / 2) : time[item] * 6) - 90) + "deg)");
					if (time["seconds"] === 59) {
						$('#seconds').css('transform', "rotateZ(-6deg)");
						if (time["minutes"] === 59) {
							$('#minutes').css('transform', "rotateZ(-6deg)");
							if (time["hours"] === 23) {
								$('#hours').css('transform', "rotateZ(-6deg)");
								time = new Date();
							}
						}
					}
				}
			}
			setInterval(datetime_init, 1000);
		</script>
	</body>
</html>

加个定时器,每秒动一下~

网页小配件之时钟 网页小配件之时钟 参考html+css+js 动态时钟 网页小配件之时钟 动机 过程 结构HTML 表现CSS 行为JavaScript 附录 动机 今天在网上浪,想试试搜索引擎能不能找到自己在csdn博客上写的文章,于是打了一篇自己写过的文章的名称“网页小配件之日历”,发现。。。。没搜到,结果却搜到了有关实现时钟的文章上去了,看着时钟也挺有意思的,所以 阅读详情

相关推荐

使用jQuery实现时钟的效果

使用jQuery实现时钟的效果 要用jQuery实现时钟的效果首先要给它布局。 用一个div来装所要写的内容,再给这个div一个类为box,再给这个box设置样式让他居中设置它的边框并且设置它的border-radius为百分之百,他就是一个圆形了。 又因为时钟是有十二个数字,所以我们用六个div来把他们分成六个组,我们再在每个div中写两个span标签,在span标签中放置相对的点数,我们现在打出来的效果是每个div独占一行,我们想要更好的控制这些div的话,首先在box这个类上给它一个相对定位

u_u2020的博客 1890

优雅的时钟翻页效果,让你的网页时钟与众不同!

子辰这篇文章将教你如何通过简单的步骤,为你的网页时钟添加翻页效果。 无论你是 web 开发初学者或是有一定经验的开发者,这篇文章都将为你提供有用的实现技巧和原理解释。

DuyiZiChen的博客 4598

JS+JQuery实现网页钟表

JS+JQuery实现网页钟表 效果图 HTML代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>时钟</title> </head> <body> <canvas id="canvas1" width...

weixin_45746054的博客 519

各种好用的在线时钟、网页时钟汇总推荐集合

电脑全屏时钟网页版https://www.sioe.cn/rili/quanpingshizhong.php =========================== 网页时钟http://www.gz7k.com/ ===================在线时钟 - 现在几点https://naozhong.net.cn/shijian/================================ 桌面时钟_在线极简时钟同步北京时间网提供桌面时钟,在线极简同步时钟。https://www.beijing

南北极之间 3万+

使用jQuery创建电子时钟效果

jQuery是一个流行的JavaScript库,它简化了JavaScript编程,并提供了许多方便的功能和特性。在本教程中,我们将使用jQuery库来创建一个简单的电子时钟效果。在浏览器中打开HTML文件,您将看到一个简单的电子时钟显示在页面上,并且时间每秒钟都会更新。接下来,我们使用三元运算符来格式化小时、分钟和秒钟,确保它们始终以两位数的形式显示。,我们将在JavaScript代码中使用它来更新时钟的时间。函数每秒钟更新一次时钟,我们能够创建一个实时更新的电子时钟。在上面的代码中,我们创建了一个。

CyberOI的博客 366

Ubuntu服务器通过IPV6端口转发搭建幻兽帕鲁私服实战

本文详细介绍了在Ubuntu服务器上通过IPV6端口转发搭建幻兽帕鲁私服的完整教程。针对只有公网IPV6地址的服务器环境,提供了从硬件检查、端口转发工具配置到游戏服务器安装的全流程解决方案,帮助玩家轻松实现多人联机游戏体验。

weixin_30652491的博客 490

JS+jQuery实现圆形钟表

效果图: 图中的背景图: css代码: p { font-family: 'Microsoft Yahei'; font-size: 14px; } .circle { width: 400px; height: 400px; ...

Li_Have_a_dream的博客 556

Visual Studio 2022调试Godot 4 C#项目全攻略:从环境配置到断点调试

本文详细介绍了如何配置Visual Studio 2022以高效调试Godot 4 C#项目。从环境搭建、外部编辑器设置到两种核心调试模式(附加到进程与启动配置)的实战指南,帮助开发者构建无缝的工业级工作流,解决编码乱码、断点失效等常见问题,大幅提升开发与问题排查效率。

bush的博客 392

html制作钟表盘,jquery+html5制作超酷的圆盘时钟表

自己封装的一个用HTML5+jQuery写的时钟表代码:超酷数码钟表//引用的是在线jquery地址,如果不行请自行下载切换(function($){$.fn.drawClock = function(options){var mainId = $(this);//设置默认参数var defaultOptions = {'width': '300px','height': '300px','mar...

weixin_36118143的博客 436

多核异构处理器核间通信:从共享内存到RPMsg协议的实战解析

在多核异构处理器架构中,核间通信是实现高效协同计算的核心技术。其基本原理是通过共享内存作为数据交换的物理媒介,配合硬件信号机制实现同步与通知。从技术价值看,它解决了不同架构核心间的数据共享与指令协同问题,是释放异构计算潜力的关键。在应用场景上,该技术广泛应用于智能物联网设备、汽车电子和工业控制等领域,用于连接高性能应用处理器与实时微控制器。本文以典型的ARM Cortex-A与Cortex-M组合为例,深入剖析了基于共享内存和RPMsg协议的通信机制,涵盖了从硬件基础到软件协议栈的完整实现链路,并提供了针对

weixin_26969269的博客 449

在树莓派5(8G版)上运行Ollama + LLM

直接上结论,Ollama在树莓派上能安装,且本身运行起来毫无压力,但具体到大语言模型,Deepseek似乎不总是最佳选择。

ki1381的专栏 1652

jquery制作一个钟表效果

1.html代码 <div class="box"> <div class="clock"> <div class="nmb"> <div><span>9</span></div> <div><span>10</s...

weixin_44564242的博客 323

基于多物理参数数据融合和先进人工智能算法的锂电池热失控监测传感器

基于多物理参数数据融合和先进人工智能算法的锂电池热失控监测传感器是多种方案中的优选项!是一种快速、准确、可靠、应用广泛的传感方案!可有效监测锂离子电池热失控风险,保障化学能储能电站安全!

chicheng_danxin的博客 2414

JS+jQuery实现网页圆盘钟表

用最近学的js和jQuery做一个圆盘钟表,这个还是可以的若有不足之处请大佬指正一下: 效果图如下: clock.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>JS+jQuery圆盘时钟</title> ...

星辰里的月光 1172

【通信协议】I2C总线(一主多从)

I2C总线(一主多从)之软件模拟代码详解

m0_75090944的博客 9844

华大 HC32F460 DMA数据传输实战:从配置到中断处理的完整指南

本文提供了华大半导体HC32F460微控制器DMA(直接内存访问)功能的完整实战指南。详细解析了DMA的配置流程、中断处理机制以及软件与硬件触发方式,并附有实验代码示例。通过合理使用DMA进行数据传输,可以显著解放CPU资源,提升嵌入式系统的实时性与运行效率。

weixin_29194255的博客 255

jQuery实现网页圆盘钟表

最近学的js和jQuery做一个圆盘; 上图: 1.html部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>jQuery圆盘时钟</title> <link href="css/coick.css" r...

key1haha_的博客 360

17|CI/CD 集成与质量门禁:让精准测试进入发布流水线

本文讲解精准测试如何接入 CI/CD 流水线,并通过质量门禁辅助发布决策。测试开发工程师。Java 后端开发工程师。质量平台 / DevOps 平台建设者。想了解精准测试落地方法的技术负责人。

专注 AI 精准测试平台实战落地,分享从代码 Diff 到回归决策的完整工程闭环。主张“先建数据链路,再上 AI 智能”,让测试从“靠经验”走向“基于风险”。 68

一款漂亮古朴的HTML5钟表效果

<!DOCTYPE><htmllang="en"id="paulrhayes-com"class="jswf-swingdancer1swingdancer2-n5-activewf-active"><head><metahttp-equiv="Content-Type"content="text/html;charset...

151

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

【网页制作】原生JavaScript制作汉字时钟

原生JavaScript制作汉字时钟

user_from_future的博客 850

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jquery+html5制作超酷的圆盘时钟表

自己封装的一个用HTML5+jQuery写的时钟表 代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 3...

weixin_30639719的博客 123

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【网页制作】原生JavaScript制作“井字棋”

原生JavaScript制作“井字棋”

user_from_future的博客 821

关于如何在带引号的键值对中导入参数(js jQuery通用)

开发工具与关键技术:VS JavaScript 作者:宋永烨 撰写时间:2019年1月16日 例如 在JavaScript中修改代码如下图所示 Js 修改transform rotate属性的值为30deg; (但不只限于它,只是作为例子) div.style.transform = “rotate(30deg)” 但是这只是修改一个固定的角度,如何导入参数呢? 将函数数字部分替换成 ...

weixin_44540140的博客 862

超酷的圆盘时钟表

自己封装的一个用HTML5+CSS3写的时钟表

zls_12的专栏 4609

时钟插件-CSS动画+jQuery

使用HTML,CSS,SVG背景和一些jquery创建的时钟。使用CSS动画和过渡进行移动,使用jquery来设置初始时间并添加基本的CSS变换 最终效果展示 首先创建一个div用来展示生成的时钟 <body> <div class="home-page"> <div id="clock-box"></div> </div> </body> 需要引入jQuery <script src="https://c.

北眼的博客 884
上一篇: 【网页制作】jQuery模拟提交表单生成卡片
下一篇: 【OpenCV学习】初识OpenCV
user_from_future
博客等级 码龄5年 4067粉丝 115原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值