2012-12-26 87 views
53

我有越來越錯高度與

$(window).height(); 

的問題,並得到了類似的問題 here

在我來說,當我嘗試

$(document).height(); 

它好像又回到了我正確的結果

窗口高度返回320

而文件高度返回3552!

我發現this問題太

但在我的情況下,窗口已經被完全加載,我打電話一些Ajax操作後高度功能

那麼,什麼是知道當前窗口的高度,最好的辦法?

編輯:

enter image description here enter image description here

+3

這是兩個完全不同的事情。你是否想要獲得窗口,文檔,視口的高度? – Brad

+0

'$(window).height();'是獲得窗口高度的正確方法。你爲什麼認爲這是錯的? –

+1

@ Brad-其實我想要我的窗口覆蓋的全部高度,包括滾動區域,實際上我想用這個數字來計算和設置彈出的底部 –

回答

6

AFAIK $(window).height();返回你的窗口和$(document).height();的高度返回文檔的高度

+7

重言式。 $(window).height()只是計算機的JavaScript語言,用於「返回窗口的高度」。你只是用人類語言來表示這一行代碼。儘管我沒有失望,因爲我不相信。 –

0

你需要知道什麼是平均約文件和窗口。

  1. 窗口對象表示瀏覽器中的打開窗口。 click here
  2. Document對象是文檔樹的根。 click here
103

那麼你好像把他們誤認爲他們做了什麼。

$(window).height()爲您提供(瀏覽器)窗口又稱爲視口的高度的無單位像素值。就Web瀏覽器而言,這裏的視口是畫布的可見部分(其多次比正在呈現的文檔小)。

$(document).height()返回正在渲染的文檔高度的無單位像素值。如果實際文檔的身高小於視口高度,則它將返回視口高度。

希望能澄清一點事情。

+1

如果想獲取文檔的高度,特別是如果它小於視口(例如,爲了讓iframe告訴其父母應該是什麼尺寸),該怎麼辦?是 $(「html」)。height() 跨瀏覽器可靠嗎? – iX3

+1

我個人從不使用$(html).height(),因此建議使用$(document).height()來獲取文檔的高度。 –

+4

問題是,如果窗口高度大於文檔高度,則$(document).height()將返回窗口/視口高度,而不是文檔高度。在我的使用情況中,iframe可能會變得更高或更短,並且需要能夠告訴其父母它應該是多高。如果它很高,然後變短,它需要能夠測量比其視口小的高度。 – iX3

-2

$(document).height:如果您的設備height比較大。你的頁面沒有任何滾動;

$(document).height:假設你沒有滾動並返回這個height;

$(window).height:在您的設備上返回您的頁面height

6

這個固定我

var width = window.innerWidth; 
var height = window.innerHeight; 
相關問題