jQuery动画 - 什么时候是异步的,什么时候不是?

lis*_*aro 2 jquery

我有两个我想要动画的div:

<div id="character">
<div id="sprite">
</div>
</div>

$("#sprite").animate({"width" : "1", }, 400 );
$("#character").animate({"width" : "1", }, 400 );
$("#character").animate({"margin-left" : "0", }, 400 );
Run Code Online (Sandbox Code Playgroud)

然而,似乎前两个动画同时执行,而第三个动画仅在其他动画完成时开始.

为什么前两个异步,而第三个不同步?如何让它们三个同时运行?

sam*_*ura 7

第二个$("#character").animate排队.如果你有2,$("#character")那么第二个只在第一个完成时发生.你能做的是:

$("#character").animate({"margin-left" : "0", "width" : "1", }, 400 );
Run Code Online (Sandbox Code Playgroud)

使两个动画同时发生,或者:

$("#character").animate({"width" : "1"}, {"duration":400, "queue": false});
$("#character").animate({"margin-left" : "0"}, {"duration":400, "queue": false});
Run Code Online (Sandbox Code Playgroud)