我一直在谷歌搜索并试图让我的生活延迟追加到现在发生,这样我就可以先做一个漂亮的淡出。这里,myObject是一个链接:
<a href="#">My Link</a>
我想把它变成无序列表:
<div id="newDiv">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
做这样的事情:
myObject.fadeOut(300).appendTo('#newDiv ul').fadeIn(300);
myObject.wrap('<li></li>');
我知道appendTo不是动画对象,所以它只是瞬间发生。所以我尝试将append作为回调添加到fadeOut:
myObject.fadeOut(300, myObject.appendTo('#newDiv')).fadeIn(300);
myObject.wrap('<li></li>');
只是现在它不仅立即发生,包裹不再起作用。我也尝试过使用setTimeout来延迟追加无效。
答案 0 :(得分:6)
试试这个:
myObject.fadeOut(300, function() { $(this).appendTo('#newDiv ul').fadeIn(300) });
通过在淡入淡出的回调中执行“appendTo”,您可以等到淡入淡出完成。所有(据我所知)jQuery动画效果都需要这样的回调。