我在这里有一些jquery的东西来点击动画一层。问题有时内容可能超过高度设置中分配的高度。有没有办法修改它以将图层设置为最小高度或自动而不是设置px金额?
$(function() {
$(".showcart").click(function(){
$("#cart").animate({ height: "250px" }).animate({ height: "200px" }, "fast");
});
$(".hidecart").click(function(){
$("#cart").animate({ height: "250px" }).animate({ height: "0px"}, "fast");
});
});
答案 0 :(得分:21)
我发现你可以这样做:
$("#cart").animate({ 'min-height': "250px" }, 'fast');
行情是关键所在。
答案 1 :(得分:3)
不幸的是,不能告诉它只是为适合的动画制作动画。要做到这一点,你要么已经知道正确的尺寸,要么有办法计算它。
如果这一切都发生在单个函数或单个插件中,您可能需要考虑在扩展它之前将$(this).height()
的值存储在某个变量中,因此您将能够将其放回到位置它曾经是。
否则,一种可能性就是将div放在你想要增长/缩小的div中,并使用get $('> div', $(this)).height()
来获得你内部div的高度,这应该是它内容的高度,无论是什么你对外面div的高度有多乱。
答案 2 :(得分:1)
这有点难度,因为它很大程度上取决于页面的结构。如果您可以设置css min-height,或者将另一个元素的高度作为参考点,您可以设置为该大小的动画,使事物更加动态。遗憾的是,jQuery中没有自动魔法调整大小的方法。
$(this).css("min-height"); //Gets min-height CSS property
// or..
$(this).height(); //Gets element height
希望有所帮助。