2013-01-24 165 views
4

我有一些CSS需要身體設置高度,但這需要根據用戶來完成。JS - 使用當前窗口大小設置窗口高度

我已經做了一些代碼,這種工作 - 它計算窗口的高度,但它並沒有改變身高。我究竟做錯了什麼?

function setWindowHeight(){ 
    var windowHeight = window.innerHeight; 
    document.getElementsByTagName('body').style.height = windowHeight + "px"; 
} 
+0

您使用哪個瀏覽器?在例子中,IE具有不同的語法,而不是Firefox和co。 – reporter

+0

我正在使用iPad,所以webkit。 – cloggy

+0

我覺得你的代碼缺少一些東西-document.getElementsByTagName('body')[0] .style.height = windowHeight +「px」; – pankaj98

回答

5

您需要添加一個事件監聽,你不需要使用的getElementsByTagName,因爲只有1個身體標記:

function setWindowHeight(){ 
    var windowHeight = window.innerHeight; 
    document.body.style.height = windowHeight + "px"; 
    console.log(document.body.style.height); 
} 
window.addEventListener("resize",setWindowHeight,false); 

或者,如果你想使用,你可以這樣做:

function setWindowHeight(){ 
    var windowHeight = window.innerHeight; 
    document.getElementsByTagName('body')[0].style.height = windowHeight + "px"; 
    console.log(document.body.style.height); 
//---------------------------------------´ 
//will get the first element tagged body 
} 
window.addEventListener("resize",setWindowHeight,false); 

編輯(改變上面的代碼):您就可以在Firefox的控制檯值。打開它(CTRL + SHIFT + K)並調整窗口大小,你會看到事件調整大小當你這樣做時被解僱。

+0

謝謝埃裏克!非常感激。我試圖學習JS,但是這有點超出了我。 – cloggy

-1
try this may work 

document.getElementsByTagName('body').height = windowHeight + "px"; 
相關問題