首页 > 解决方案 > 完成后如何停止这个javascript倒计时?

问题描述

我找到了这个 javascript,它在循环完成后开始新的倒计时

<script>
  var countdownNumberEl = document.getElementById('countdown-number');
  var countdown = 10;

  countdownNumberEl.textContent = countdown;

  setInterval(function() {
    countdown = --countdown <= 0 ? 10 : countdown;
    countdownNumberEl.textContent = countdown;
  }, 1000);
</script>

标签: javascript

解决方案


SetInterval 返回一个唯一的 ID。

var intervalId = setInterval( function(){}, 1000);

所以,当你想让它停止时,你只需调用clearInterval(intervalId)

如果你想在函数本身中调用它,你只需要有正确的条件来监控当你想要它停止它时,你需要引用全局或作用域标识符。

在您的示例中,您使用的是countdown变量。

所以你可以这样说:

if (countdown <= 0) clearInterval(intervalId);


推荐阅读