2013-01-24 133 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"; 
相关问题