开发者

Calculate element height the way slideDown() does

Have you noticed that by using jquery's slideDown(), even on elements with dynamic content, you always get the perfect height of the effected element. Which is, for me at least, impossible to do by simply animating the css height value. Mostly because there is no way for me to know how did the height of an element (with a display:none) changed, during a dyna开发者_开发知识库mic content (AJAX) update.

And since i've been working on some custom controls, i do need that capability to calculate things the way slideDown() does.


If you are inserting a new dinamically loaded content, it means you have that element in memory, so you can refer to it and know its height. You only have to read its height (or maybe outerHeight) and slide by that amount.

EDIT

Just give a height of 0 to the hiden item and overflow:hidden, so that the content inside it won't be sohwn, and it will retain its height.

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


You can try this after appending the dynamic content to the element.

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜