HTML代码
<div id="foo">
<h1>foo</h1>
<p>Pellentesque habitant morbi tristique.</p>
</div>
<div id="bar">
<h1>bar</h1>
</div>
jQuery码
$('#bar').click(function () {
$('#foo p').hide('slow').appendTo('#bar').show('slow');
})
预期结果
单击#bar时
p
中隐藏#foo
元素p
附加到#bar
p
,它现在是#bar
的子级实际结果
p
附加到#bar
p
中隐藏#foo
元素p
,它现在是#bar
的子级问题
发布于 2009-10-21 00:46:22
如果要等到每个动画完成后再执行下一步,请使用文献资料中详细介绍的动画回调。
$('#bar').click(function () {
$('#foo p').hide('slow', function(){
$(this).appendTo('#bar').show('slow');
});
});
发布于 2009-10-21 00:43:06
若要确保在“隐藏”或“显示”等效果之后执行某项操作,请使用回调。http://docs.jquery.com/Effects/show#speedcallback
To Add:
文森特是对的,实际上
你看到的是效果的结果
发布于 2009-10-21 00:41:33
预期的结果是正确的。观察到的行为可能是运行asynchronously.的隐藏(“慢速”)的结果因此,它在执行下一个操作时运行。因此,似乎p首先被附加到#bar中。您可以尝试隐藏(),而不用慢慢来看这是否有区别。
https://stackoverflow.com/questions/1598129
复制相似问题