javascript - jQuery 具有 min-height 属性的元素的动画高度?

标签 javascript jquery css

我在 CSS 中设置了一个最小高度为 300px 的元素:

<!-- HTML -->
<div id="summary"></div>
<div id="collapse"></div>
/* CSS */
#summary { min-height: 300px } 

当我单击 #collapse 元素时,我希望 #summary 元素平滑折叠到 100 像素的高度。

$("#collapse").click(function() {
   $("#summary").animate({ height: 100}, 1000);
}); 

但是,什么也没有发生,我认为这是因为 min-height 属性。

have read this discussion on the jQuery forums ,但我仍然不知道如何使 #summary div 平滑地进行动画 - 按照他们的建议将 min-height 设置为 auto 会使 div 消失然后重新出现!有人可以帮忙吗?

更新:我已经做了a jsFiddle to demonstrate the problem

最佳答案

你可以尝试做类似的事情

$("#collapse").click(function() {
   var summary = $("#summary"),
       height  = summary.height();

   summary
     .css({ height: height + 'px', minHeight: 0 }) 
     .animate({ height: 100}, 1000);
});

这个想法是重置 min-height 并将 css height 属性设置为动画之前元素本身的计算高度。

关于javascript - jQuery 具有 min-height 属性的元素的动画高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14395434/

相关文章:

javascript - 在这种情况下的解决方法是通过降低不透明度来保持 z 顺序?

javascript - Ajax 和 session 变量? Worksafe Filter(选择性图像隐藏)

c# - 如何使用 jQuery 复制带有下拉列表的表行

javascript - 拆分导致 "Object doesn' t 支持此属性或方法”异常

html - CSS:如何 float :右和居中

javascript - 无法使 JavaScript SSN 表单验证工作

javascript - 如何将元素移动到最右边然后隐藏?

javascript - Safari - 删除 anchor 标记中的文本空间

html - 样式化内联元素的分隔符

css - 当屏幕改变大小时如何让导航按钮保持在一起