首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用jQuery折叠空div的优雅方法?

用jQuery折叠空div的优雅方法?
EN

Stack Overflow用户
提问于 2011-09-15 17:23:17
回答 4查看 6.6K关注 0票数 5

假设我有一个具有以下内容的页面:

代码语言:javascript
复制
<div><p>Some content</p></div>
<div id="container"><p class="destroy">Some content that will go away.</p></div>
<div if="footer"><p>Some footer content.</p></div>

还有一些jQuery:

代码语言:javascript
复制
jQuery(".destroy").click(function(){
    jQuery(this).fadeOut('slow');
})

一旦内容消失,如何避免页脚的“跳转”?我希望它能顺利地滑到适当的位置。

这是问题所在。这里是我希望它能发挥作用 (但没有指定高度)。

注意事项:

  1. #容器的宽度和高度会有所不同,因为它的内容是动态的。
  2. 解决方案必须是最低限度的,但也是可读的。
  3. jQuery和jQuery UI包括在内。
  4. 一个优雅的通用解决方案的额外积分(检测所有空的div,并平稳地折叠它们)。
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-15 17:33:38

您会得到“跳转”,因为当动画完成时,.fadeOut()会设置display:none

使用.fadeTo()代替,并淡出不透明的0。然后,您可以用slideUp()链接它,以得到您指定的“我希望它如何工作”的确切行为。

代码语言:javascript
复制
jQuery('.destroy').click(function(){
    jQuery(this).fadeTo('slow', 0).slideUp();
})

布丁的证明:http://jsfiddle.net/qJFnc/4/

如果#container中没有其他内容,则可以调用slideUp()

代码语言:javascript
复制
jQuery('.destroy').click(function(){
    jQuery(this).fadeTo('slow', 0, function() {
        jQuery('#container').slideUp();
    });
})

更多布丁:http://jsfiddle.net/qJFnc/5/

票数 10
EN

Stack Overflow用户

发布于 2011-09-15 17:26:01

将其动画为零,然后删除回调。

演示:http://jsfiddle.net/qJFnc/2/

代码语言:javascript
复制
jQuery('.destroy').click(function(){
    jQuery(this).animate({height : 0}, function() {
        $(this).remove();
    })
})

-编辑:

要使用没有CSS高度的淡入效果,您需要使用fadeTo(),因为它没有像fadeOut那样删除元素。然后在回调的时候滑动元素。

演示:http://jsfiddle.net/qJFnc/10/

资料来源:

代码语言:javascript
复制
jQuery('.destroy').click(function(){
    jQuery(this).fadeTo(500,0, function() {
        $(this).slideUp();
    })
})
票数 1
EN

Stack Overflow用户

发布于 2011-09-15 17:26:01

尝尝这个。这将获得动态高度并将其设置为css。

http://jsfiddle.net/kQugU/2/

代码语言:javascript
复制
jQuery('.destroy').click(function(){
    jQuery('#container').css("height", jQuery('#container').height());
    jQuery(this).fadeOut('slow',function(){
        jQuery('#container').slideUp();
    })
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7434960

复制
相关文章

相似问题

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