2014-02-20 145 views
1

我試着得到瀏覽器窗口的height不一致的結果。

要做到這一點,我在準備好文檔時使用了$(window).height();,我注意到在不同情況下我得到了不同的值(15px的差異)。 看來,結果受到我正在應用的樣式表的影響。刪除樣式表解決問題(或只刪除幾行(如font-size: 2em;float:left;position:absolute; ......事情似乎並沒有在所有有關)

我認爲風格不應該與有關瀏覽器窗口大小的。 它不應該被精確地返回相同的值,無論如何?

我讀過the documentation of $.height(),並沒有說這個話題東西。

我也注意到它會在加載時調用時返回正確的尺寸,如下所示:

$(window).on('load', function() { 
    var windowHeight = $(window).height(); 
    console.log(windowHeight); 
}); 

對不起,但我不能在jsfiddle重現我的問題。

+0

是不是這個問題涉及到這個http://stackoverflow.com/questions/3698200/window-onload-vs-document-ready? – Rotem

+1

爲了獲得窗口的高度,我不得不加載所有頁面內容。我可以理解,可能需要獲取元素的「高度」,而不是窗口。 – Alvaro

+1

那麼,它可能與滾動條有關。所有的內容加載後,你可能有一個滾動條,可以減少輸出15px ... – Rotem

回答

1

它可能與滾動條有關。在加載所有內容後,您可能會有一個滾動條,可以將輸出減少15px。

0

$(window).height();將永遠不會改變字體或浮動在CSS中。它看起來像你正在調整你的JavaScript控制窗口,這是導致大小不同。請不要調整控制檯大小,然後您將擁有固定的窗口大小。

+0

即使隱藏開發人員工具,我也會遇到相同的不一致情況。 – Alvaro

+0

而且,只要刪除'font-size',我就會得到不同的結果。相信它或不:) – Alvaro

+1

@Alvaro當你添加字體大小時,你有水平滾動條嗎? – Rotem