我如何在计数中显示正确的数字

时间:2018-09-27 20:14:59

标签: javascript math

我想倒数一个计数器。但是,它总是在以后开始一个数字。我知道问题所在,但找不到解决方案。

function countStart() {
    const countdown = setInterval(() => {
        time -= 1;
        document.getElementById('counter').textContent = time;
        if (time < 1) {
            clearInterval(countdown);
        }
    }, 1000);
}

如果我从10开始倒数​​,如果从9开始倒数,该如何更改?

2 个答案:

答案 0 :(得分:1)

在显示它之前,您正在减小“时间”变量。因此,如果您的“时间”变量最初的值为10,则在将其设置为元素的textContent(并因此显示它)之前,由于出现了“时间-= 1”语句,因此在显示之前它会减少为9。 / p>

在将其“时间”变量设置为计数器元素的textContent后,尝试减少它。

function countStart() {
  const countdown = setInterval(() => {
      document.getElementById('counter').textContent = time;
      time -= 1;
      if (time < 1) {
          clearInterval(countdown);
      }
  }, 1000);
}

答案 1 :(得分:0)

您只需将time-=1放在更改DOM的行下方

function countStart(time) {
    const countdown = setInterval(() => {
        //document.getElementById('counter').textContent = time;
        console.log(time)
        time -= 1;
        if (time < 1) {
            clearInterval(countdown);
        }
    }, 1000);
}

只是将dom操作更改为console.log