我有以下 javascript 函数:
function One(){
setInterval(function(){ //piece of code },3000);
setInterval(function(){ //piece of code },3000);
setInterval(function(){ One(); },3000);
}
如你所见,我希望第一段代码在 3 秒后执行,然后它跳转到第二个 setInterval 并在 3 秒后运行里面的代码,然后它跳转到第三个 setInterval 重新运行整个函数,但它不起作用...它运行第一段代码,然后运行第二段代码,在第三段代码中,它没有重新运行该函数,而是继续执行第二段代码。
最佳答案
我认为你需要 setTimeout
来代替。 setInterval()
会一遍又一遍地调用它,您每次调用 One()
时只希望它调用一次。然后你可以像这样将它们链接在一起:
function One(){
setTimeout(function(){
//piece of code A
setTimeout(function(){
//piece of code B
setTimeout(function(){
One(); //restart
},3000);
},3000);
},3000);
}
关于javascript - SetInterval 重跑函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31343695/