首页 > 解决方案 > Javascript 计数器故障排除

问题描述

致力于在 JS 中制作 2 分钟计时器。我是新人,所以请多多包涵。我想制作计时器,以便当您单击按钮时(我已经在 js 中制作了按钮),它将时间从 2 分钟递减。这是我到目前为止所拥有的。代码不会逐秒下降。任何建议都会有所帮助,谢谢!

const startingMinutes = 2
let time = startingMinutes * 60

let timerId = setInterval(countDown, 1000)

function countDown() {

  const minutes = Math.floor(time / 60)
  let seconds = time % 60
  time--

  if (timerId <= -startingMinutes) {
    countdown.innerHTMl = 'Good Luck!'
    clearInterval(timerId)
  }

  if (timerId <= 0) {
    countdown.innerHTML = 'Time is up!'
    clearInterval(timerId)
  }

  button.addEventListener('click', () => {
    countDown()
    countdown.innerHTML = minutes + ' minutes ' + ': ' + seconds + ' seconds '
  })
}

timerId = setInterval(countDown, 1000)

标签: javascript

解决方案


这项工作成功:

const startingMinutes = 0.25
let time = startingMinutes * 60

let timerId = setInterval(countDown, 1000)

function countDown() {

  const minutes = Math.floor(time / 60)
  let seconds = time % 60
  time--

  console.log(minutes, 'minutes:', seconds, 'seconds');
  
  if (time <= 0) {
    console.log('Time is up!');
    clearInterval(timerId)
  }
}

然后,只需在单击处理程序中使用countDown函数调用setInterval


推荐阅读