JavaScript 实现数码风格时钟:原理与完整代码

作者:小括号时间:2026-10-22 06:12:08浏览:544

本文介绍如何使用 JavaScript 实现一个数码风格的数字时钟。核心逻辑包括利用 getHours、getMinutes 和 getSeconds 获取当前时间,通过自定义函数对小于10的时间值进行前补零处理,确保显示格式统一。代码通过循环遍历数字字符串,动态更新 img 元素的 src 属性以展示对应的数码管图片,并封装 tick 函数实现周期性刷新,避免页面初始加载时的闪烁问题。

数码时钟实现原理概述

本文分享了一个使用 JavaScript 实现数码风格时钟的具体示例,供读者参考学习。

  • 为了实现时钟的正常显示,需要建立一个辅助函数(如 toDbl),用于处理时间值。当小时、分钟或秒小于10时,在该数值前补上“0”,以保证时间格式的统一性和正确性。
  • 利用 for 循环遍历时间字符串中的每一位数字,将每个字符通过 str.charAt(i) 获取,并根据索引 i 递增,将对应的数码管图片路径赋值给 img 元素的 src 属性,从而在页面上渲染出完整的数字图像。
  • 封装一个名为 tick 的函数,并在页面加载完成后立即调用一次。这样做可以确保网页在刷新或初始加载时,时钟图片不会发生跳变或闪烁,保持显示状态的稳定性。
  • 通过 Date 对象的 getHours、getMinutes 和 getSeconds 方法获取当前的时、分、秒数值。将这些数字转换为字符串(可通过拼接空字符串实现),并传递给补零函数处理后,合并到总字符串 str 中,作为后续渲染的依据。

完整代码实现

以下是实现该数码时钟的完整 HTML 和 JavaScript 代码示例:


<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>数码时钟2</title>
 <style type="text/css"> 
 *{
 background-color: rgb(7,110,177);
 vertical-align: middle;
 }
 #div1{
 text-align: center;
 width: 1300px;
 height: 220px;
 margin:0 auto;
 }
 span{
 font-size: 50px;
 color: white;
 }
 </style>
 <script type="text/javascript">
 window.onload=function()
 {
 var aImg = document.getElementsByTagName('img');
 function tick()
 {
  var oDate = new Date();
  var str = toDbl(oDate.getHours())+toDbl(oDate.getMinutes())+toDbl(oDate.getSeconds());
  for (var i = 0; i < aImg.length; i++) {
  aImg[i].src='images/'+str.charAt(i)+'.jpg';
  };
 };
 setInterval(tick,500);
 tick();

 };
 function toDbl(n)
 {
 if (n<10) {
  return '0'+n;
 } else {
  return ''+n;
 }
 };
 </script>
</head>
<body>
 <div id="div1">
 <img src="images/1.jpg">
 <img src="images/2.jpg">
 <span>:</span>
 <img src="images/3.jpg">
 <img src="images/4.jpg">
 <span>:</span>
 <img src="images/5.jpg">
 <img src="images/6.jpg">
 </div>
</body>
</html>

如需查看更多 JavaScript 时钟相关的特效实现,可查阅 JavaScript 时钟特效专题。

以上就是本文的全部内容,希望能为读者的学习提供有益的帮助,同时也欢迎大家继续支持本站。

作者最新文章