首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery:我怎样才能阻止appendTo立即发生?

jquery:我怎样才能阻止appendTo立即发生?
EN

Stack Overflow用户
提问于 2011-06-01 08:07:05
回答 1查看 380关注 0票数 2

我一直在谷歌上搜索,并尽我最大的努力来延迟appendTo的发生,这样我就可以先做一个漂亮的淡出。这里,myObject是一个链接:

代码语言:javascript
运行
复制
<a href="#">My Link</a>

我想把它移到一个无序列表中:

代码语言:javascript
运行
复制
<div id="newDiv">
<ul>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
</ul>
</div>

通过这样做:

代码语言:javascript
运行
复制
myObject.fadeOut(300).appendTo('#newDiv ul').fadeIn(300);
myObject.wrap('<li></li>');

我知道appendTo不是一个动画对象,所以它是立即发生的。因此,我尝试将追加作为对fadeOut的回调:

代码语言:javascript
运行
复制
myObject.fadeOut(300, myObject.appendTo('#newDiv')).fadeIn(300);
myObject.wrap('<li></li>');

只是现在它不仅立即发生,包装也不再起作用。我也尝试过使用setTimeout来延迟追加,但没有效果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-01 08:08:53

试试这个:

代码语言:javascript
运行
复制
myObject.fadeOut(300, function() { $(this).appendTo('#newDiv ul').fadeIn(300) });

通过在淡入淡出的回调中执行"appendTo“,您可以等待淡出完成。据我所知,所有的jQuery动画效果都是这样回调的。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6194910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档