Jquery 使用 ClearInterval() 达到 0 时停止倒计时

Jquery stop countdown when reaches 0 with ClearInterval()

你好,我做了一个从 5 到 0 的倒计时,但我想在 0 时停止计数。我使用了 .stop() 函数,但这对我不起作用。我正在使用 SetInterval() 每秒刷新一次倒计时。现在我正在尝试使用 ClearInterval() 所以计数器应该停止计数。我不确定,但我认为我使用的 ClearInterval 完全错误...

这是我用的:

if (time === 0) {
  clearInterval();
} 

代码如下:

$(document).ready(function() {
  $("button").click(function() {
    var time = 5;
    setInterval(function() {
      time--;
      $('#time').html(time);
      if (time === 0) {
        clearInterval();
      }
    }, 1000);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="time">5</div>
<button>Activate Countdown</button>

您需要告诉 clearInterval() 停止哪个计时器。将区间分配给一个变量,然后将该变量赋给 clearInterval()

$(document).ready(function() {
  $("button").click(function() {
    var time = 5;
    var timer = setInterval(function() {
      time--;
      $('#time').html(time);
      if (time === 0) {
        clearInterval(timer);
      }
    }, 1000);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="time">5</div>
<button>Activate Countdown</button>