2014-01-14 79 views
0

我試圖在我的AngularJS應用程序中獲取#header元素的高度,但是jQuery似乎返回了錯誤的高度。目前的代碼基本上包括:jQuery返回錯誤的元素高度

$(document).ready(function() { 
    function resizeCover() { 
     console.log($('#header').height()); 
    } 

    resizeCover(); 
}); 

在控制檯中,我可以看到輸出20,但是這是不正確的,這可以從我的突出#header元素與Chrome瀏覽器開發工具中可以看出:

enter image description here

我也試過使用outerHeight(),但也返回20。

頭makrup如下:

<div id="header"> 
    <div class="container"> 
     <div id="logo"> 
      <a ng-href="/">Company Ltd</a> 
     </div> 

     <ng-include src="'/partials/global-shared/navigation.html'"></ng-include> 
    </div> 
</div> 

我不認爲這是ng-include這是造成麻煩,因爲#logo格設置爲是100px的固定高度應擴大的#header高度。

什麼可能導致jQuery返回錯誤的元素高度?

+3

它可能是因爲某些內容在計算高度後加載 –

+0

原因可能是計時問題(比賽條件)或CSS相關或角度相關。如果我們沒有全貌,很難找到問題。準備一個小提琴或一個** [SSCCE](http://sscce.org)**肯定會幫助... – gkalpak

+0

是的,設置一個小提琴:http://jsfiddle.net/那麼我們可能能夠幫助你 –

回答

1

你說你正在使用角度,但高度的輸出是文檔就緒功能。 因此,在運行ng-include之前,瀏覽器控制檯正在輸出標題的高度。

在觸發ng-include後,將header header.log標題放入角度應用程序的某處。