2
我一直在Google上搜索并试图让我的生活延迟appendTo的发生,所以我可以先做一个很好的淡出。在这里,myObject的是一个链接:jquery:我怎样才能阻止appendTo即刻发生?
<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不是一个动画对象,所以它只是瞬间发生。所以我试图把追加作为fadeOut的回调:
myObject.fadeOut(300, myObject.appendTo('#newDiv')).fadeIn(300);
myObject.wrap('<li></li>');
只有现在它不仅立即发生,包装不再起作用。我也尝试使用setTimeout来延迟追加无济于事。
介意解释为什么他的回调之前不工作? – Kayla 2011-06-01 00:17:18
他的回调最初并不是真正的回调。回调的全部要点是,它是一个函数,当原始任务完成时将被调用,但通过myObject.appendTo('...')提前调用appendTo并将其返回值作为回调参数传递。 – BenTrofatter 2011-06-01 00:26:58
是的,这个好奇的@OlduvaiHand是正确的。 OP中的“回调”根本不是回调。 – Pointy 2011-06-01 01:05:54