为什么jquery承诺提供比常见回调链更快的链式动画

时间:2013-07-19 13:49:44

标签: jquery jquery-deferred promise

两种动画应该具有相同的速度,但事实并非如此!

jquery承诺更快,我甚至可以用眼睛测量它; - )

为什么?从技术上讲,它们也是如此,这就是链接jquery函数。

 $.when( $('#a1').fadeOut() )
 .done( $('#a2').fadeIn() );


    vs.


$('#a1').fadeOut(function () {
    $('#a2').fadeIn(function () {
    });
});

1 个答案:

答案 0 :(得分:2)

请改为:

$.when( $('#a1').fadeOut() ).done(function() { $('#a2').fadeIn() });

注意我在function() {}周围添加了fadeIn()。没有这个额外部分会导致代码执行fadeIn(),而不是将函数作为参数传递给done()函数。

http://jsfiddle.net/mxBTa/