以秒为单位清除间隔计时器,真正的初学者 Jquery

Clear interval timer in seconds, a real beginner in Jquery

在我的代码中尝试清除间隔时遇到一些问题。我只需要在它达到 0 时立即停止它。我也尝试通过将 clearInterval 声明为变量来将其设置在函数中,但每次我都感到更加困惑,因为我没有看到任何错误控制台日志记录。我在这里做错了什么?提前致谢。这是我正在做的事情:

var timer = 10;
$("#timer").html("Timer");


function timerStart() {
    timer--;
    $("#timer").html(timer);
}

var intervalId = setInterval(timerStart, 1000);

if(timerStart === 0) {
    clearInterval(intervalId);
}

你非常接近!

我做了一些修改:

  1. 将变量声明一起移动
  2. 无需手动设置 .html() 作为初始值,只需调用 timerStart()。然后你可以在之后递减它。
  3. timerStart() 方法中执行 timer 检查。

    var timer = 10;
    var intervalId = null;

    function timerStart() {
      $("#timer").html(timer);
      if (timer === 0) {
          clearInterval(intervalId);
      }
      timer--;
    }

    timerStart();
    intervalId = setInterval(timerStart, 1000);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="timer"></div>

尝试:

    var timer = 10;

    $("#timer").html("Timer");

    var intervalId = setInterval(timerStart, 1000);

    function timerStart() {
      timer--;
      $("#timer").html(timer);
      if(timer == 0) clearInterval(intervalId);
    }