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

JavaScript中setInterval函数失效,简易数字时钟无法正常运行

数字时钟代码错误修复方案

你的代码存在两个关键错误,导致时钟无法正常运行:

  • Date对象使用错误
    你直接将new Date()转换为字符串toLocaleTimeString(),而字符串没有getHours()、getMinutes()这类方法,这会直接导致代码执行报错,无法继续后续逻辑。正确的做法是先保留Date对象,再从对象上提取时分秒信息。

  • 变量拼写错误
    判断秒数补零的条件里,变量名写成了seconods,正确的变量名应该是seconds,拼写错误会导致该逻辑失效,甚至引发报错。

下面是修正后的clock.js代码:

setInterval(function() {
    // 保留Date对象,不要直接转成字符串
    var currentTime = new Date();
    
    var hours = currentTime.getHours();
    var minutes = currentTime.getMinutes();
    var seconds = currentTime.getSeconds();
    var period = "AM";

    if (hours >= 12) {
        period = "PM";
    }
    if (hours >= 13) {
        hours = hours - 12;
    }
    // 处理凌晨12点的显示逻辑
    if (hours === 0) {
        hours = 12;
    }
    if (minutes <= 9) {
        minutes = "0" + minutes;
    }
    if (seconds <= 9) {
        seconds = "0" + seconds; 
    }

    var clockTime = hours + ":" + minutes + ":" + seconds + " " + period;

    var clockElement = document.getElementById("clock");
    clockElement.innerHTML = clockTime; 
}, 1000);

额外补充了凌晨12点的处理逻辑(此时getHours()返回0,转换成12来显示),让时钟显示更符合日常习惯。

内容的提问来源于stack exchange,提问作者ramank27

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 07:52:41