Javascript 在函数内暂停
Javascript pause within function
在下面的示例中,我想在更改元素一的样式后暂停脚本。然后在 500 毫秒后,继续更改元素二的样式。由于 setTimeout()
需要一个函数参数,我如何在不延迟整个函数的情况下实现这一点?
注意:该函数由 onclick="myFunction()"
在 HTML 元素上调用。
function myFunction() {
// Declare some variables
var elementOne = document.getElementById("classElementOne");
var elementTwo = document.getElementById("classElementTwo");
// Execute for element 1
elementOne.style.cssText = "some styles";
// Wait 500 miliseconds
// Execute for element 2
elementTwo.style.cssText = "some styles";
}
我猜你会把你想要延迟的代码放在一个匿名函数中,就像这样:
function myFunction() {
// Declare some variables
var elementOne = document.getElementById("classElementOne");
var elementTwo = document.getElementById("classElementTwo");
// Execute for element 1
elementOne.style.cssText = "some styles";
// Wait 500 miliseconds
// Execute for element 2
setTimteout(() => {
elementTwo.style.cssText = "some styles";
}, 500);
}
function myFunction() {
// Declare some variables
var elementOne = document.getElementById("classElementOne");
var elementTwo = document.getElementById("classElementTwo");
// Execute for element 1
elementOne.style.cssText = "some styles";
// Wait 500 miliseconds
// Execute for element 2
setTimteout(() => {
elementTwo.style.cssText = "some styles";
}, 500);
}
As setTimeout()
requires a function parameter, how do I achieve this
without delaying the entire function?
您可以使用 setTimeout()
并传递一个函数来更改元素 2 的样式。
它不会耽误你的整个功能。 (在您的示例中 myFunction
)。相反,它只是延迟了您作为参数传入的匿名函数的执行。
function myFunction() {
// Declare some variables
var elementOne = document.getElementById("classElementOne");
var elementTwo = document.getElementById("classElementTwo");
// Execute for element 1
elementOne.style.cssText = "some styles";
// Wait 500 miliseconds
setTimeout(function(){
// Execute for element 2
elementTwo.style.cssText = "some styles";
}, 500);
}
在下面的示例中,我想在更改元素一的样式后暂停脚本。然后在 500 毫秒后,继续更改元素二的样式。由于 setTimeout()
需要一个函数参数,我如何在不延迟整个函数的情况下实现这一点?
注意:该函数由 onclick="myFunction()"
在 HTML 元素上调用。
function myFunction() {
// Declare some variables
var elementOne = document.getElementById("classElementOne");
var elementTwo = document.getElementById("classElementTwo");
// Execute for element 1
elementOne.style.cssText = "some styles";
// Wait 500 miliseconds
// Execute for element 2
elementTwo.style.cssText = "some styles";
}
我猜你会把你想要延迟的代码放在一个匿名函数中,就像这样:
function myFunction() {
// Declare some variables
var elementOne = document.getElementById("classElementOne");
var elementTwo = document.getElementById("classElementTwo");
// Execute for element 1
elementOne.style.cssText = "some styles";
// Wait 500 miliseconds
// Execute for element 2
setTimteout(() => {
elementTwo.style.cssText = "some styles";
}, 500);
}
function myFunction() {
// Declare some variables
var elementOne = document.getElementById("classElementOne");
var elementTwo = document.getElementById("classElementTwo");
// Execute for element 1
elementOne.style.cssText = "some styles";
// Wait 500 miliseconds
// Execute for element 2
setTimteout(() => {
elementTwo.style.cssText = "some styles";
}, 500);
}
As
setTimeout()
requires a function parameter, how do I achieve this without delaying the entire function?
您可以使用 setTimeout()
并传递一个函数来更改元素 2 的样式。
它不会耽误你的整个功能。 (在您的示例中 myFunction
)。相反,它只是延迟了您作为参数传入的匿名函数的执行。
function myFunction() {
// Declare some variables
var elementOne = document.getElementById("classElementOne");
var elementTwo = document.getElementById("classElementTwo");
// Execute for element 1
elementOne.style.cssText = "some styles";
// Wait 500 miliseconds
setTimeout(function(){
// Execute for element 2
elementTwo.style.cssText = "some styles";
}, 500);
}