有时候在生活中,你需要一个JavaScript倒计时时钟,而不是一个末日装置设备。不管你是否有一次约会,销售、促销、或者游戏,你可以受益于 使用原生JavaScript构建一个时钟,而不是拿到一个现成的插件。虽然有许多很棒的时钟插件,但如果使用原生 JavaScript 实现,那你将得到以下好处:
所以事不宜迟,以下是如何使用仅仅18行JavaScript代码来做一个自己的倒计时时钟。 基础时钟:倒计时到特定的日期或时间以下是创建一个基础时钟的快速概要步骤:
设置一个有效的结束日期首先,你需要设置一个有效的结束日期。它是JavaScript Date.parse()方法能够解析的任何格式的一个字符串。例如:
短格式:
或者,长格式:
这些格式都可以指定一个确切的时间(小时,分钟和秒),以及时区(或者如果是ISO日期,则是UTC的偏移量)。例如:
你可以在 此文阅读更多关于JavaScript的日期格式化。 计算剩余时间下一步是计算剩余时间。做到这一点,我们需要编写一个函数,它接收一个代表给定结束时间的字符串(如上所述),并计算这个时间和当前时间的差值。代码如下:
首先,我们创建一个变量t,保存剩下的时间期限。Date.parse()函数是原生JavaScript,它将一个时间字符串转换成以毫秒为单位的值。这让我们可以将两个时间相减,并获得间隔时间。
转换时间为可用的格式现在我们想把毫秒转换成天、小时、分钟、秒。让我们以秒为例:
让我们解释这是怎么回事。
重复这个逻辑将秒转换为分钟、小时、天。 输出时钟数据作为一个可重用的对象准备好天、小时、分钟和秒,我们现在准备将数据作为一个可重用的对象返回:
该对象允许你调用函数,得到任何已计算的值。这里有一个如何得到剩余分钟的例子:
很方便,对吗? 在页面上显示时钟,并在它到达0时停止。现在,我们有一个函数,它可以提取天、小时、分钟和秒,我们可以构建时钟了。首先,我们将创建以下HTML元素来存放我们的时钟:
然后我们将编写一个函数,输出时钟数据到新div:
这个函数接收两个参数:显示时钟的元素的id和倒计时的结束时间。在函数内部,我们将声明一个名为clock的变量用来保存时钟容器div的引用,这样我们不需要不断查询DOM。
到这里,唯一剩下的步骤运行时钟如下:
恭喜你!你现在有一个基本的时钟,它只有短短18行JavaScript代码。 优化时钟显示给时钟加样式之前,我们需要完善一点的东西。
移除初始加载的延迟在时钟中,我们用setInterval每秒钟更新显示。大部分时间都很好,除了一开始的时候会有一秒钟的延迟。为了消除这个延迟,我们将不得不在间隔开始前就更新时钟。 在你的JavaScript中,替换:
为
避免不断重建时钟让时钟脚本更有效率,我们希望只更新时钟的数据,而不是每一秒重建整个时钟。实现这一目标的方法是,把每个数字嵌入到span标签内,只更新这些span的内容。 HTML:
现在获取这些元素的引用。在clock变量定义的下面添加以下代码
上一篇:解读Python解析XML的几种方式下一篇:酷炫的碎纸机Android版
最新评论
72小时资讯榜
2
19岁黑客跨三国换IP狂奔,还是被Windows一
网安动态
320人已阅读
3
18K Star,让AI自己跑渗透测试,这个开源项
渗透测试
307人已阅读
4
一个 1.5B 的模型,把网络安全攻防都装进了
安全学院
342人已阅读
5
多家电商遭“银狐”木马攻击,央视披露细节
网安动态
544人已阅读
6
手机也能AI养龙虾:安卓和iOS版OpenClaw应
AI动态
518人已阅读
社区热门
1
━※☆※━★===二〇二六年论坛每日签到帖=
2026-03-13
4
从上大学一直玩黑基 到现在已经37岁 感谢黑
2025-06-03
6
好久没来这里了,居然能正常登录,佩服站长
2025-05-19
|