jQuery动画高度

前端之家收集整理的这篇文章主要介绍了jQuery动画高度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个按钮和一个div里面一些文本:
<h2>Click me</h2>
<div class="expand">Lot of text here....</div>

我想显示只有2行的文本是默认的,所以我把高度30px和溢出隐藏。

当我点击H2元素,我想动画文本slideDown,如果我单击另一个时间,它将slideUp到默认高度(30像素)。

我正在尝试许多事情与jQuery,但它不工作。

编辑:

我也有不止一个“扩展”和多个“H2”和文本是不同的div,所以高度没有修复…我想滑到“自动”高度或100%。

有人能帮我吗?
谢谢!

解决方法

页面加载之前,您可以将瘦身之前的高度保存到30像素,例如:
$(".expand").each(function() {
  $.data(this,"realHeight",$(this).height());
}).css({ overflow: "hidden",height: "30px" });

然后在您的点击处理程序中:

$("h2").toggle(function() {
  var div = $(this).next(".expand")
  div.animate({ height: div.data("realHeight") },600);
},function() {
  $(this).next(".expand").animate({ height: 30 },600);
});

那么这样做是在溢出之前获得.height()(在document.ready中运行它):将其设置为隐藏,并通过$.data()存储,然后在点击处理程序(通过.toggle()替换)中,我们使用该值(或30)每一个点击到.animate()到。

猜你在找的jQuery相关文章