jQuery如何完成其​​异步动画?

use*_*716 7 javascript jquery animation asynchronous

...或者更具体地说,他们如何通过javascript创建动画,这是同步的,而无需保留下一个javascript语句.

这只是一种好奇心.他们是否使用链setTimeout()?如果是这样,它们是否提前设置,每个设置的持续时间比前一个稍长,并且并行运行?或者它们是通过递归函数调用创建的,因此是串行运行的?

或者它是完全不同的东西?

Mar*_*ius 6

setTimeout()的替代方法称为setInterval(),它将定期调用您作为参数传递的函数.调用setInterval将返回一个值,该值可以传递给clearInterval以停止调用该函数.


aef*_*fxx 6

使用jQuery 1.4.2在5534 - 5536行:

if ( t() && jQuery.timers.push(t) && !timerId ) {
    timerId = setInterval(jQuery.fx.tick, 13);
}
Run Code Online (Sandbox Code Playgroud)

请注意setIntervaljQuery的tick方法触发动画中的步骤.