以秒为单位清除间隔计时器,真正的初学者 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);
}
你非常接近!
我做了一些修改:
- 将变量声明一起移动
- 无需手动设置
.html()
作为初始值,只需调用 timerStart()
。然后你可以在之后递减它。
- 在
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);
}
在我的代码中尝试清除间隔时遇到一些问题。我只需要在它达到 0 时立即停止它。我也尝试通过将 clearInterval 声明为变量来将其设置在函数中,但每次我都感到更加困惑,因为我没有看到任何错误控制台日志记录。我在这里做错了什么?提前致谢。这是我正在做的事情:
var timer = 10;
$("#timer").html("Timer");
function timerStart() {
timer--;
$("#timer").html(timer);
}
var intervalId = setInterval(timerStart, 1000);
if(timerStart === 0) {
clearInterval(intervalId);
}
你非常接近!
我做了一些修改:
- 将变量声明一起移动
- 无需手动设置
.html()
作为初始值,只需调用timerStart()
。然后你可以在之后递减它。 - 在
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);
}