[英]jquery: how can I stop appendTo from happening instantly?
我一直在谷歌搜索并试图让我的生命延迟 appendTo 立即发生,这样我就可以先做一个很好的淡出。 这里,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 虽然不是 animation object,但它会立即发生。 所以我尝试将 append 作为 fadeOut 的回调:
myObject.fadeOut(300, myObject.appendTo('#newDiv')).fadeIn(300);
myObject.wrap('<li></li>');
只是现在它不仅立即发生,包装不再起作用。 我也尝试过使用 setTimeout 来延迟追加无济于事。
尝试这个:
myObject.fadeOut(300, function() { $(this).appendTo('#newDiv ul').fadeIn(300) });
通过在淡入淡出的回调中执行“appendTo”,您可以等到淡入淡出完成。 所有(据我所知) jQuery animation 效果都采用这样的回调。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.