以slideDown()的方式计算元素高度

时间:2011-06-22 13:59:36

标签: javascript jquery

您是否注意到通过使用jquery的slideDown(),即使对于具有动态内容的元素,您始终可以获得受影响元素的完美高度。至少对我来说,仅通过动画css高度值就不可能做到这一点。主要是因为在动态内容(AJAX)更新期间,我无法知道元素的高度(带有display:none)是如何更改的。

由于我一直在研究一些自定义控件,我确实需要这种能力来计算slideDown()的工作方式。

2 个答案:

答案 0 :(得分:0)

如果您要插入新的dinamically加载内容,这意味着您在内存中有该元素,因此您可以参考它并知道它的高度。你只需要读取它的高度(或者可能是outerHeight)并按这个数量滑动。

修改

只要给hiden项设置0的高度并溢出:隐藏,这样它里面的内容就不会被遮住,它会保持高度。

http://jsfiddle.net/jgyLm/9/

答案 1 :(得分:0)

您可以在将动态内容附加到元素后尝试此操作。

$(element).height();
$(element).outerHeight();//if you need margin to be included pass true to outerHeight method