首页 > 解决方案 > 在零处停止计时器

问题描述

我试图让我的倒计时停止在零,但它会重置而不是停止。

我在 runTimer 函数的末尾添加了一个条件语句,但没有任何反应。它只是重置。

我要进行一项有意义的练习。我正在修改它并让它倒计时。

function runTimer() {
    let currentTime = leadingZero(timer[1]) + ":" + leadingZero(timer[2]);
    theTimer.innerHTML = currentTime;
    timer[3]--;

    timer[0] = Math.floor((timer[3]/100)/60); //minutes
    timer[1] = Math.floor((timer[3]/100) - (timer[0] * 60)); //seconds
    timer[2] = Math.floor(timer[3] - (timer[1] * 100) - (timer[0] * 6000)); //hundredths

    if (currentTime = 0) {
      clearInterval(interval);
    }

}

我预计它会停在零,但它只是重置回 59:00 ......我希望它停在 00:00。

标签: javascriptfunctionclearinterval

解决方案


问题是这部分:

if (currentTime = 0)

由于您正在检查值是否为 0,因此您不想分配的值0,而是想与 进行currentTime比较0。这是由===操作员完成的。所以总结一下:

=就是给变量赋值(左边是变量,右边是赋值)

==或者===是比较两个值。(JavaScript 中 == 和 === 之间的区别

你的行应该是:

if (currentTime == 0)

希望它有所帮助。:)


推荐阅读