gpt4 book ai didi

javascript - 使用clearInterval 将 jQuery 计时器停止在 0

转载 作者:行者123 更新时间:2023-12-01 03:00:32 24 4
gpt4 key购买 nike

我在使用 clearInterval 来停止我的简单计数计时器(一旦它等于 0)时遇到问题。本质上,计时器会超过 0 变为负值,而不是停止在 0 处。我正在创建一个基本测验,理想情况下会提醒用户一旦计时器到达并停止在 0,正确答案的数量。

以下是当前代码:

var count = 10;
var gameTime;

gameTime = setInterval("counter()", 1000);

function convertSeconds(s){
var min = Math.floor(s / 60);
var sec = s % 60;
return min + ":" + sec;
}

function counter(){
count--;
$("#timer").text(convertSeconds(count));
}

if (count === 0) {
clearInterval("#timer");
} else {
//Do nothing
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Trivia</title>
<script src="https://code.jquery.com/jquery-3.2.1.js" integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE=" crossorigin="anonymous"></script>



</head>
<body>
<div id ="timer">10</div>
</body>

最佳答案

只需将 if 检查移至计数器函数并清除 gameTime 变量即可。

setInterval 以给定的时间间隔运行提供的函数,因此您想要在该时间间隔上运行或检查的任何内容都必须在提供的函数中发生。

var count = 10;
var gameTime;

gameTime = setInterval("counter()", 1000);

function convertSeconds(s){
var min = Math.floor(s / 60);
var sec = s % 60;
return min + ":" + sec;
}

function counter(){
count--;
$("#timer").text(convertSeconds(count));
if (count === 0) {
clearInterval(gameTime);
} else {
//Do nothing
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Trivia</title>
<script src="https://code.jquery.com/jquery-3.2.1.js" integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE=" crossorigin="anonymous"></script>



</head>
<body>
<div id ="timer">10</div>
</body>

关于javascript - 使用clearInterval 将 jQuery 计时器停止在 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46458667/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com