在 Javascript 上停止函数
Stop a function on Javascript
我是 JS 的初学者。我想编写一个函数,使 body 的背景颜色在红色和白色之间交替大约 5 秒钟。我写了这段代码:
var x = 1;
function alarma() {
setInterval(cambio, 200);
function cambio() {
if (x == 1) {
$("body").css("background-color", "red");
x = 2;
}
else {
$("body").css("background-color", "white");
x = 1;
}
}
}
我测试了代码并且它工作了,但我不知道如何只执行该功能 5 秒。
知道如何解决这个问题吗?
谢谢!
您可以使用以下代码,它将您的时间间隔分配给一个 interval
变量,然后使用 setTimeout
在 5 秒后清除该时间间隔。
function alarma() {
const interval = setInterval(cambio, 200);
setTimeout(() => {
clearInterval(interval);
}, 5000);
let x = 1;
function cambio() {
if (x == 1) {
$("body").css("background-color", "red");
x = 2;
} else {
$("body").css("background-color", "white");
x = 1;
}
}
}
alarma();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
我是 JS 的初学者。我想编写一个函数,使 body 的背景颜色在红色和白色之间交替大约 5 秒钟。我写了这段代码:
var x = 1;
function alarma() {
setInterval(cambio, 200);
function cambio() {
if (x == 1) {
$("body").css("background-color", "red");
x = 2;
}
else {
$("body").css("background-color", "white");
x = 1;
}
}
}
我测试了代码并且它工作了,但我不知道如何只执行该功能 5 秒。
知道如何解决这个问题吗?
谢谢!
您可以使用以下代码,它将您的时间间隔分配给一个 interval
变量,然后使用 setTimeout
在 5 秒后清除该时间间隔。
function alarma() {
const interval = setInterval(cambio, 200);
setTimeout(() => {
clearInterval(interval);
}, 5000);
let x = 1;
function cambio() {
if (x == 1) {
$("body").css("background-color", "red");
x = 2;
} else {
$("body").css("background-color", "white");
x = 1;
}
}
}
alarma();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>