HTML+CSS+JavaScript制作电子时钟

一        效果展示

二        步骤

在网上下载0-9的jpg图片,将其复制粘贴到项目images文件中,注意,图片的命名一定是数字形式,例如:1.jpg,风景图也是自行下载然后粘贴到相应的文件。

三         代码实现


<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<style>
		body{
			background:url("./img/风景.webp")
		}
		.box{
			position:absolute;
			left:30%;
			top:30%;
			background:pink;
		}
		#shiShi{
			background:rgb(255,255,255);
		}
		#shiGe{
			background:rgb(255,255,255);
		}
		.dian{
			width:20px;
			height:50px;
		}
		#fenShi{
			background:rgb(255,255,255);
		}
		#fenGe{
			background:rgb(255,255,255);
		}
		#miaoShi{
			background:rgb(255,255,255);
		}
		#miaoGe{
			background:rgb(255,255,255);
		}
	</style>
	<body>
		<div class="box">
		<img id="shiShi" src="img/0.png" width="35" height="60" alt=""/>
		<img id="shiGe" src="img/0.png" width="35" height="60" alt=""/> 
		<img class="dian" src=" img/colon.png"/>
		<img id="fenShi" src="img/0.png" width="35" height="60" alt=""/>
		<img id="fenGe" src="img/0.png" width="35" height="60" alt=""/> 
		<img class="dian" src=" img/colon.png"/>
		<img id="miaoShi" src="img/0.png" width="35" height="60" alt=""/>
		<img id="miaoGe" src="img/0.png" width="35" height="60" alt=""/> 
		</div>
		<div></div>
		<script>
			let images=[
			" img/0.png",
			" img/1.png",
			" img/2.png",
			" img/3.png",
			" img/4.png",
			" img/5.png",
			" img/6.png",
			" img/7.png",
			" img/8.png",
			" img/9.png",
			];
			
			function geWei(num){
				return num%10;
				
			}
			function shiWei(num){
				return (num-num%10)/10;
				
			}
			function getImage(id){
				return document.getElementById(id)
			}
			
			function timeGo() {
			    let myDate = new Date();
			    let shi = myDate.getHours();
			    let fen = myDate.getMinutes();
			    let miao = myDate.getSeconds();
			    getImage("shiShi").src = images[shiWei(shi)];
			    getImage("shiGe").src = images[geWei(shi)];
			    getImage("fenShi").src = images[shiWei(fen)];
			    getImage("fenGe").src = images[geWei(fen)];
			    getImage("miaoShi").src = images[shiWei(miao)];
			    getImage("miaoGe").src = images[geWei(miao)];
			}
			
			setInterval(function() {
			    timeGo();
			}, 1000);
		</script>
	</body>
</html>

四         相关知识

实现步骤

  1. 定义了一个图片路径数组images,包含了数字0到9的图片路径。
  2. 定义了三个函数geWei(num)、shiWei(num)和getImage(id),分别用于获取一个数字的个位、十位和获取指定id的图片元素对象。
  3. 定义了timeGo()函数,该函数获取当前时间的小时、分钟和秒,然后将对应的数字图片显示在网页上的对应位置。
  4. 使用setInterval()函数每隔1秒钟调用一次timeGo()函数,实现时钟的实时更新。
setInterval(function() {
			    timeGo();
	                }, 1000);

这段代码使用 JavaScript 中的 `setInterval()` 函数来定时执行 `timeGo()` 函数。

`setInterval()` 函数是 JavaScript 中的一个定时器函数,用于按照指定的时间间隔定时执行指定的函数或代码。它接受两个参数:第一个参数是要执行的函数或一段要执行的代码,第二个参数是时间间隔,以毫秒为单位。

在这个代码中,`setInterval()` 函数每隔1000毫秒(即每隔1秒)调用一次 `timeGo()` 函数。这意味着,每秒钟都会执行一次 `timeGo()` 函数,更新网页上显示的时钟,实现实时显示当前时间的效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/277288.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Docker】添加指定用户到指定用户组

运行Docker ps命令&#xff0c;报错&#xff1a;/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied 创建docker用户组 安装docker时默认已经创建好 sudo groupadd docker添加用户加入docker用户组 此处以用户user为例 sudo usermo…

生意不好做?不妨去“私域”找找机会

站在2023年的尾巴上向前看&#xff0c;零售从业者们心里都有同样的疑问&#xff1a;2024年消费还能好么&#xff1f;增长的机会又在哪里&#xff1f; “我会说&#xff1a;要有信心&#xff0c;消费行业永远年轻。”经济学家香帅在企业微信举办的“2023实干企业家峰会消费专场…

六、从0开始卷出一个新项目瑞萨RZN2L之loader app分离工程优化

六、loader app分离工程 6.1 概述 6.2 官方资料与不足 6.3 loader app分离工程的优化 6.3.1 自动调节合并appsection 6.3.2 loader中使用外设 6.3.3 app使用sram mirror 6.3.4 sram atcm同时使用 六、从0开始卷出一个新项目之瑞萨RZN2L loader…

决心解开软光栅的心结

最近几天离职在家,是的,还没回老家.白天周中的时候写这个软光栅化渲染器.包括在上班的最后项目大家都不干活的时候我已经开始写了.到今天上午总算是有的看了.细节还差很多,下午把透视校正插值加上,下午加不完就元旦假期之后再说(元旦我要写pbrt的读书笔记).还有摄像机裁剪,背面…

【Vue2 + ElementUI】el-table中校验表单

一. 案例 校验金额 阐述&#xff1a;校验输入的金额是否正确。如下所示&#xff0c;点击【编辑图标】会变为input输入框当&#xff0c;输入金额。当输入框失去焦点时&#xff0c;若正确则调用接口更新金额且变为不可输入状态&#xff0c;否则返回不合法金额提示 <templat…

proE各版本安装指南

下载链接 https://pan.baidu.com/s/1BSaJxvPPGeIa4YKm7xk57g?pwd0531 1.鼠标右击【Proe5.0M280(64bit)】压缩包&#xff08;win11及以上系统需先点击“显示更多选项”&#xff09;选择【解压到 Proe5.0M280(64bit)】&#xff08;解压的路径中不能有中文&#xff09;。 2.打开…

BIT-666 的 2023 年度总结

<<< 年度总结 >>> <<< 年度数据 >>> ◆ 发博情况 ◆ 学习成就 ◆ 代码提交 ◆ 博文表现 <<< 年度创作 >>> ◆ LLM - LLaMA2 <<< 年度风景 >>> ◆ 春 - 中关村软件园 - 百望山 ◆ 夏 - 乌兰…

Gamma LUT PG285笔记

1 gamma校正应用背景 探测器响应为线性亮度或RGB值&#xff0c;而显示器并非线性&#xff0c;需要算法做校正。 2 reg 可以配置3张LUT表&#xff0c;每张表最大1024个16bit参数。表中0x0800仅是第一张表的起始地址&#xff0c;地址每次加4。 3 数据输入的格式 按照RBG的顺序…

springboot参数校验常用注解及分组校验

一、使用方式添加Validated 二、常见注解 Null 被注解的元素必须为null NotNull 被注解的元素必须不为null NotBlank 只能作用在接收的 String 类型上&#xff0c;注意是只能&#xff0c;不能为 null&#xff0c;而且调用 trim() 后&#xff0c;长度必须大于 0即&#xff…

Solana 与 DePIN 的双向奔赴,会带来 DePIN 之夏吗?

作者&#xff1a;LBank Labs 研究员 F.F 编译&#xff1a;TinTinLand 原文&#xff1a;https://medium.com/lbanklabs/new-anchor-of-solana-depin-b674d04d6980 太长不看版 在过去的一年里&#xff0c;我们观察到 Solana 和 DePIN 两者都呈现出了显著的增长。这不仅是极客科…

Ubuntu22.04-安装后Terminal无法调出

参考&#xff1a; Ubuntu20.04 终端打开不了的问题排查_ubuntu终端打不开-CSDN博客 https://blog.csdn.net/u010092716/article/details/130968032 Ubuntu修改locale从而修改语言环境_ubuntu locale-CSDN博客 https://blog.csdn.net/aa1209551258/article/details/81745394 问…

为什么ChatGPT采用SSE协议而不是Websocket?

在探索ChatGPT的使用过程中&#xff0c;我们发现GPT采用了流式数据返回的方式。理论上&#xff0c;这种情况可以通过全双工通信协议实现持久化连接&#xff0c;或者依赖于基于EventStream的事件流。然而&#xff0c;ChatGPT选择了后者&#xff0c;也就是本文即将深入探讨的SSE&…

私域营销新趋势:电商品牌如何打破传统,实现共赢?

一、自私的私域 私域运营已经成为企业营销的重要手段之一&#xff0c;越来越多的品牌开始重视私域的构建和运营。瑞幸咖啡、熊猫不走和泡泡玛特等品牌的成功案例证明了私域运营的重要性和价值。这些品牌通过建立自己的用户社区&#xff0c;提供个性化的服务和营销策略&#xf…

Zabbix“专家坐诊”第221期问答汇总

问题一 Q&#xff1a;使用官方docker模板Template App Docker&#xff0c;监控docker镜像&#xff0c;有一项监控项docker.data_usage有报错&#xff0c;不知道哪里问题&#xff1a;Cannot fetch data: Get “http://1.28/system/df”: context deadline exceeded (Client.Time…

WebGL技术的应用场景

WebGL&#xff08;Web Graphics Library&#xff09;是一种在Web浏览器中渲染3D图形的技术&#xff0c;它基于OpenGL ES&#xff08;OpenGL for Embedded Systems&#xff09;标准&#xff0c;允许通过JavaScript编写高性能的3D图形应用。以下是一些WebGL技术的应用场景&#x…

iptables防火墙——学会利用SNAT和DNAT 共享上网并发布内网服务器

本章展示&#xff1a; -- 学会利用SNAT策略共享上网 -- 学会利用DNAT策略发布内网服务器 -- 学会编写简单的防火墙脚本 3.1 SNAT 策略及应用 Linux 防火墙在很多时候承担着连接企业内、外网的重任&#xff0c;除了提供数据包过滤功能以 外&#xff0c;还提供一些基本的网关…

免费背景音人声分离解决方案MVSEP-MDX23,足以和Spleeter分庭抗礼

在音视频领域&#xff0c;把已经发布的混音歌曲或者音频文件逆向分离一直是世界性的课题。音波混合的物理特性导致在没有原始工程文件的情况下&#xff0c;将其还原和分离是一件很有难度的事情。 言及背景音人声分离技术&#xff0c;就不能不提Spleeter&#xff0c;它是一种用…

基于springboot+vue协同过滤算法的电影推荐系统

&#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;摘 要 “互联网”的战略实施后&a…

根据commitID删除某一次提交

1.查看提交历史 git log --prettyoneline2.找到需要删除的那个commit,然后找到上次提交的commitID 比如想要删除下面这一条 我们找到上次提交的commitID 3.执行rebase git rebase -i efa11da0a684977bf8ac047ebb803e2ded2063a4 进入编辑状态显示如下 将需要删除的那个提交前…

【小程序】如何获取特定页面的小程序码

一、进入到小程序管理后台&#xff0c;进入后点击上方的“工具”》“生成小程序码” 小程序管理后台 二、进入开发者工具&#xff0c;打开对应的小程序项目&#xff0c;复制底部小程序特定页面的路径 三、粘贴到对应位置的文本框&#xff0c;点击确定即可