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

JS倒计时计时器未显示0秒问题求助

修复JS倒计时计时器的Bug

原代码的问题出在执行顺序和终止条件上:

  • 先执行second--再输出,导致初始的秒数直接被减1,跳过了1:00的显示
  • 当分钟减到0时立刻清除定时器,没机会输出0:00

修复后的代码:

let second = 0 // 初始秒设为0,对应1:00的起始状态
let minute = 1
let mytimer = setInterval(function(){
  // 先输出当前的时分
  console.log(`${minute}:${second.toString().padStart(2, '0')}`)
  
  // 再进行递减逻辑
  if (second === 0) {
    second = 59
    minute--
  } else {
    second--
  }
  
  // 只有当分钟和秒都为0时才停止定时器
  if (minute === 0 && second === 0) {
    clearInterval(mytimer)
    // 最后输出0:00
    console.log('0:00')
  }
}, 10)

改动说明:

  • 调整执行顺序:先输出当前时间,再做递减操作,确保每一个时间节点都能被打印
  • 修改终止条件:只有当分钟和秒同时为0时才清除定时器,保证0:00能被输出
  • 新增padStart(2, '0')处理秒数的格式化,让小于10的秒数显示为两位(比如0显示为00,5显示为05),更符合计时器的常规显示

内容的提问来源于stack exchange,提问作者ѕραcє αηɗ тιмє

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 11:39:54