以秒为单位清除间隔计时器,这是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);
}

最新更新