6

我有一些 CSS 需要设置主体的高度,但这需要根据用户来完成。

我编写了一些有效的代码 - 它计算窗口高度,但不会改变车身高度。我究竟做错了什么?

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

2 回答 2

6

您需要添加一个 eventListener,并且不需要使用 getElementsByTagName,因为只有 1 个 body 标签:

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)并调整窗口大小,当你这样做时,你会看到事件resize被触发。

于 2013-01-24T15:52:16.957 回答
-1
try this may work 

document.getElementsByTagName('body').height  = windowHeight + "px";
于 2013-01-24T15:53:40.567 回答