一種方法是將元素離屏,取消隱藏,獲取高度,然後再次隱藏它。
<script>
function getMenuItemHeight(elementSelector) {
var elementHeight = 0;
var myElement = $(elementSelector);
myElement.css({'position':'absolute','left':'-9999x'}).show();
elementHeight = myElement.height();
myElement.hide().css({'position':'','left':''});
return elementHeight;
}
</script>
或者,您可以克隆的元素,並將其放置在屏幕外的容器,這個高度,然後銷燬副本。唯一的問題是,它可能沒有菜單的CSS樣式,這意味着您可能無法獲得相同的高度值。但是,如果您只是爲離屏容器中的項目添加CSS規則,那麼這很容易解決。
<script>
function getMenuItemHeight(elementSelector) {
var elementHeight = 0;
var myElement = $(elementSelector).clone();
var container = $('<div id="offscreen-container" style="position:absolute;left:-9999px">');
container.append(myElement);
elementHeight = myElement.height();
container.remove();
return elementHeight;
}
</script>
你可以讓家長看到設置的位置:絕對和頂部設置:-9999離開:-9999,這樣你就可以測量使用元素jqeury .height()函數的高度。 – milagvoniduak