以上是我的问题的链接。假设我只有 1 个 div,其内容可能会通过 .html() 更改。我想使用 div 更改其内容并使用 animate() 或 show() 等显示自身。但是,当有 2 个操作 div 的函数时,浏览器的速度太快,似乎跳过了第一个 .html( ) 功能。
问题:我怎么能等到第一个函数(又名小提琴中的“go()”)完全执行(包括更改内容.html()和所有动画),然后再触发第二个函数(又名“went”)。
尝试:
注意:尽管我的这些尝试似乎分别在队列上执行动画,但 html() 函数永远无法等待。再看看小提琴。另外,我尝试了 Stackoverflow 上的几种方法,结果都一样。
我试过使用:
//Regular way, obviously didn't work
go(); went();
并使用延迟:
$.Deferred().done(go, went).resolve();
还有自调用函数:
var f = [go, went]; c = 0;
(function selfCall(){
if (c >= f.length) return;
f[c].call(); c++;
selfCall();
})();
但它们似乎都不能正常工作。
所以最后,我将有一个数组,它可以使用 .push() 推送任意数量的函数来执行,这些函数都是关于操纵 div 的内容并对其进行动画处理。我想知道如何正确执行该数组中的所有功能,一个接一个,下一个必须等到当前一个完成。