You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

面向K12教学的支持独立图片数组的Javascript数字时钟求助

数字时钟实现方案

核心特性

  • 支持hh:mm格式4个数字位分别配置独立的GIF图片数组,完全适配学生拍摄的不同素材
  • 解决GIF仅播放一次的问题:每次数字更新时自动追加时间戳参数,强制浏览器重新加载资源,保证动效每次从头播放
  • 代码结构清晰,仅需修改配置区内容即可使用,无需掌握复杂编程知识

完整代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>学生自制数字时钟</title>
  <style>
    /* 样式可根据需求自行调整 */
    .clock {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 60px;
      font-weight: bold;
    }
    .clock img {
      height: 120px; /* 调整数字GIF的显示高度 */
    }
  </style>
</head>
<body>
  <div class="clock">
    <img id="h1" alt="小时十位">
    <img id="h2" alt="小时个位">
    <span>:</span>
    <img id="m1" alt="分钟十位">
    <img id="m2" alt="分钟个位">
  </div>

  <script>
    // ========== 配置区:仅需修改此处的图片路径即可 ==========
    // 小时十位:仅可能出现0、1、2三个数字,对应三个GIF路径
    const h1Images = [
      '素材/小时十位/0.gif', // 数字0的GIF路径
      '素材/小时十位/1.gif', // 数字1的GIF路径
      '素材/小时十位/2.gif', // 数字2的GIF路径
      '','','','','','','' // 后面7个位置不用修改
    ]

    // 小时个位:可能出现0-9所有数字,依次填写10个GIF路径
    const h2Images = [
      '素材/小时个位/0.gif',
      '素材/小时个位/1.gif',
      '素材/小时个位/2.gif',
      '素材/小时个位/3.gif',
      '素材/小时个位/4.gif',
      '素材/小时个位/5.gif',
      '素材/小时个位/6.gif',
      '素材/小时个位/7.gif',
      '素材/小时个位/8.gif',
      '素材/小时个位/9.gif'
    ]

    // 分钟十位:仅可能出现0-5六个数字,对应六个GIF路径
    const m1Images = [
      '素材/分钟十位/0.gif',
      '素材/分钟十位/1.gif',
      '素材/分钟十位/2.gif',
      '素材/分钟十位/3.gif',
      '素材/分钟十位/4.gif',
      '素材/分钟十位/5.gif',
      '','','','' // 后面4个位置不用修改
    ]

    // 分钟个位:可能出现0-9所有数字,依次填写10个GIF路径
    const m2Images = [
      '素材/分钟个位/0.gif',
      '素材/分钟个位/1.gif',
      '素材/分钟个位/2.gif',
      '素材/分钟个位/3.gif',
      '素材/分钟个位/4.gif',
      '素材/分钟个位/5.gif',
      '素材/分钟个位/6.gif',
      '素材/分钟个位/7.gif',
      '素材/分钟个位/8.gif',
      '素材/分钟个位/9.gif'
    ]
    // ========== 配置区结束 ==========

    // 功能代码无需修改
    const h1El = document.getElementById('h1')
    const h2El = document.getElementById('h2')
    const m1El = document.getElementById('m1')
    const m2El = document.getElementById('m2')

    function updateClock() {
      const now = new Date()
      const hour = String(now.getHours()).padStart(2, '0')
      const minute = String(now.getMinutes()).padStart(2, '0')

      // 给图片地址加时间戳强制重新加载,解决GIF不重播问题
      h1El.src = `${h1Images[hour[0]]}?t=${Date.now()}`
      h2El.src = `${h2Images[hour[1]]}?t=${Date.now()}`
      m1El.src = `${m1Images[minute[0]]}?t=${Date.now()}`
      m2El.src = `${m2Images[minute[1]]}?t=${Date.now()}`
    }

    // 启动时钟
    updateClock()
    setInterval(updateClock, 1000)
  </script>
</body>
</html>

使用说明

  • 按照配置区的注释,把学生拍摄制作的GIF素材放到对应文件夹,修改配置区的文件路径即可
  • 样式部分可以根据需求调整图片大小、间距、背景等参数
  • 代码不需要任何额外依赖,保存为.html文件后直接在浏览器打开即可运行

内容的提问来源于stack exchange,提问作者Martijn de Winter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:45:04