Javascript jQuery是否在具有最小高度属性的元素上设置高度动画?
我在CSS中设置了一个最小高度为300px的元素:Javascript jQuery是否在具有最小高度属性的元素上设置高度动画?,javascript,jquery,css,Javascript,Jquery,Css,我在CSS中设置了一个最小高度为300px的元素: <!-- HTML --> <div id="summary"></div> <div id="collapse"></div> /* CSS */ #summary { min-height: 300px } 然而,什么都没有发生,我认为这是因为最小高度属性 是的,但是我仍然不知道如何使#summarydiv平滑地动画化-按照他们的建议将最小高度设置为auto会使div消失,然后
<!-- HTML -->
<div id="summary"></div>
<div id="collapse"></div>
/* CSS */
#summary { min-height: 300px }
然而,什么都没有发生,我认为这是因为最小高度属性
是的,但是我仍然不知道如何使#summary
div平滑地动画化-按照他们的建议将最小高度设置为auto会使div消失,然后重新出现!有人能帮忙吗
更新:我已经做了 你可以试着做类似的事情
$("#collapse").click(function() {
var summary = $("#summary"),
height = summary.height();
summary
.css({ height: height + 'px', minHeight: 0 })
.animate({ height: 100}, 1000);
});
其想法是重置
min height
,并将cssheight
属性设置为动画开始前元素本身的计算高度。当您在单击事件中将高度降低到100且最小高度为300时,需要在css in中使用height
,而不是min height
改变
#summary { min-height: 300px }
到
如果需要使用最小宽度,则需要在动画中更改最小宽度而不是高度。在小提琴中尝试此操作:
更改此项:
height: 50
为此:
$('#summary').animate({
'min-height': 50+'px' // <--see the quotes at min-height and add pixels to it
}, 1000);
$('#摘要')。设置动画({
“最小高度”:50+'px'//谢谢,这是我最好的解决方案,所以我接受了。尽管min height
也可以设置动画。
height: 50
$('#summary').animate({
'min-height': 50+'px' // <--see the quotes at min-height and add pixels to it
}, 1000);