如何制作一个简单的数码计时器

以下代码如下:

静态部分:

<body style="background: black; color: white; font-size: 50px;">
		<img src="img/0.png" />
		<img src="img/0.png" /> 
		:
		<img src="img/0.png" />
		<img src="img/0.png" />
		:
		<img src="img/0.png" />
		<img src="img/0.png" />
	</body>

JS部分:

<script>
			function toDou(n) {
				if(n < 10) {
					return '0' + n;
				} else {
					return '' + n;
				}
			}
			window.onload = function() {
				var aImg = document.getElementsByTagName('img');

				function tick() {
					var oDate = new Date();
					var str = toDou(oDate.getHours()) + toDou(oDate.getMinutes()) + toDou(oDate.getSeconds());
					for (var i = 0; i < aImg.length; i++){
						aImg[i].src = 'img/' + str.charAt(i) + '.png';
					}
				}
				setInterval(tick,1000);
				tick();
			}
		</script>

主要目的是通过定时器每秒钟更新屏幕上的数十个图像,使其看起来像是在实时更新。代码中涉及到的时间处理、更新图像、定时器等方面,都是非常重要的组成部分,下面将分别进行解释。

时间处理

先展示代码

function toDou(n) {
				if(n < 10) {
					return '0' + n;
				} else {
					return '' + n;
				}
			}

在这代码中,使用了一个名为toDou的函数来处理时间的小时、分钟和秒数,该函数的作用是将时间数值转换为字符串,其中小时数为 0-23 之间的数字,分钟数为 0-59 之间的数字,秒数为 0-59 之间的数字。

图像更新

展示代码

window.onload = function() {
				var aImg = document.getElementsByTagName('img');

				function tick() {
					var oDate = new Date();
					var str = toDou(oDate.getHours()) + toDou(oDate.getMinutes()) + toDou(oDate.getSeconds());
					for (var i = 0; i < aImg.length; i++){
						aImg[i].src = 'img/' + str.charAt(i) + '.png';
					}
				}
				setInterval(tick,1000);
				tick();
			}

在更新图像时,我使用了一个名为tick的函数,该函数每秒钟调用一次,用于更新屏幕上的图像。在tick函数中,首先获取当前时间数值,并将其转换为字符串,然后使用字符串连接的方式将小时、分钟和秒数字符串连接起来,得到一个时间字符串。接着,遍历屏幕上的所有图像,将每个图像的源地址转换为时间字符串中的小时、分钟和秒数对应的数字,然后将这些数字作为图像的src属性值设置为相应的图像文件的名称。这样就可以使图像看起来像是在实时更新。

定时器

展示代码

setInterval(tick,1000);
				tick();

代码中使用了一个setInterval函数来控制定时器,该函数每秒钟调用一次tick函数,从而实现了图像的实时更新。

字体大小

在代码中出现的<font>标签中,使用了font-size属性设置了字体大小,其值为 50px。虽然这只是一个字符串,但是在 HTML 中,字符串也可以通过<font>标签进行设置,因此这个字符串会被解析为字体大小。

<body style="background: black; color: white; font-size: 50px;">

总结

代码的结构非常简单,主要由三部分组成:

  1. 时间处理函数toDou:该函数的作用是将时间数值转换为字符串,其中小时数为 0-23 之间的数字,分钟数为 0-59 之间的数字,秒数为 0-59 之间的数字。
  2. 图像更新函数tick:该函数每秒钟调用一次,用于更新屏幕上的图像。在函数中,首先获取当前时间数值,并将其转换为字符串,然后使用字符串连接的方式将小时、分钟和秒数字符串连接起来,得到一个新的时间字符串。接着,遍历屏幕上的所有图像,将每个图像的源地址设置为时间字符串中的小时、分钟和秒数对应的数字,从而实现图像的更新。
  3. 定时器函数setInterval:该函数用于控制定时器,每秒钟调用一次tick函数,从而实现图像的实时更新。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
了解如何使用555 IC制作精确可调的定时器,延迟时间为1 - 100秒。 硬件组件: 德州仪器555× 1 Adafruit3KΩ电阻器× 2 Adafruit10KΩ电阻器× 4 Adafruit1MΩ电位器× 1 Adafruit IN4004二极管× 1 Adafruit Tactile Momentary按钮× 2 Adafruit 5毫米LED× 2 SparkFun 100uF电容器× 2 SparkFun 0.1uF(100nF)电容器× 1 SparkFun 2针螺丝端子× 1 SparkFun 3针螺丝端子× 1 SparkFun 12VDC继电器× 1 SparkFun 12VDC适配器× 1 SparkFun SPDT滑动开关× 1 手动工具和制造机器: 烙铁 焊锡丝 迷你PCB手钻+钻头 钢丝钳 剥线钳 焊接助手 了解如何使用555 IC制作精确可调的定时器,延迟时间为1 - 100秒。555定时器配置为单稳态多谐振荡器。 555是一款高度稳定的器件,用于产生精确的时间延迟或振荡。如果需要,提供附加端子用于触发或重置。在延时工作模式下,时间由一个外部电阻和电容精确控制。电路可以在下降波形上触发和复位,输出电路可以提供或吸收高达200mA的电流或驱动TTL电路。 在单稳态模式下,LM555定时器用作单触发脉冲发生器。当LM555定时器在触发输入端接收到低于电源电压1/3的信号时的脉冲。输出脉冲的宽度由RC网络的时间常数决定。当电容器上的电压等于电源电压的2/3时,输出脉冲结束。通过调整R和C值,可以根据应用扩展或缩短输出脉冲宽度。 外部电容最初由定时器内的晶体管放电。在向引脚2施加小于1/3 VCC的负触发脉冲时,设置内部触发器,其均释放电容器两端的短路并将输出驱动为高电平。然后,电容器两端的电压呈指数增长,持续时间为t = 1.1RC,在此期间电压等于2/3 VCC。然后内部比较器复位触发器,触发器依次使电容器放电并将输出驱动至低电平状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你好122xx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值