0

我有两个一起工作的功能。一个到fadeOut()可见的文章,一个到fadeIn()一个新的在前一篇完成褪色之后。不知何故,第二个函数不会等待第一个函数完成。我的代码如下:

itemFadeTo: function( item ) {
    
    $( '#item_container article:visible' )
    .stop(true, true)
    .fadeOut( 750, $().itemFadeIn( item ) );

},

itemFadeIn: function( item) {

    $( item )
    .css({ opacity: 0 })
    .show()
    .stop(true, true)
    .animate({ opacity: 1}, 750);

}

调用如下:

var new_item= $( 'article#new_item' );

$().itemFadeTo( new_item);

任何帮助将不胜感激!

4

1 回答 1

0

问题是.fadeOut()期望一个函数作为它的第二个参数,但你没有传递一个函数,你正在调用一个函数并将其结果作为第二个参数传递:

.fadeOut( 750, $().itemFadeIn( item ) );

所以这意味着这$().itemFadeIn( item)部分发生调用.fadeOut().

试试这个:

.fadeOut( 750, function() { $().itemFadeIn( item ); });
于 2013-03-07T10:32:19.337 回答