0

我有一个 div 元素,其自动高度可以说是 300px。
单击按钮时,我将其高度设置为 500 像素。
我想将它的高度设置为默认高度。我知道的唯一解决方案是克隆 div,存储它的高度并相应地使用它。
一个jsfiddle示例

var elem = $("div").clone().height("auto").appendTo("body");
$('div').animate({"height": elem.height()});
elem.remove();

有更好的方法吗?我不想克隆,因为我的实际页面上有大量元素。

更新:我创建了另一个 fiddle。如果尚未在加载时设置元素,您将如何获得元素的默认高度?

4

2 回答 2

1

当您将原始高度设置为静态值时,您可以存储原始高度,可能作为元素的数据属性。所以:

$('button').click(function() {
    $('div').data('origHeight',$('div').height());
    //Your code to set the height
});

然后:

$('div').animate({"height": $('div').data('origHeight')});
于 2013-04-24T00:19:38.557 回答
0

如何将“旧高度”保存到某个属性?

像这样。

$('#someDiv').attr('old-height',$('#someDiv').height());

你说什么?

于 2013-04-24T00:25:01.123 回答