我有两个一起工作的功能。一个到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);
任何帮助将不胜感激!
谢谢, Knal
答案 0 :(得分:0)
问题是.fadeOut()
期望函数作为其第二个参数,但是你没有传递函数,你是调用函数并将其结果作为第二个参数传递:
.fadeOut( 750, $().itemFadeIn( item ) );
这意味着$().itemFadeIn( item)
部分在调用.fadeOut()
之前发生了。
请改为尝试:
.fadeOut( 750, function() { $().itemFadeIn( item ); });