0

我知道这个问题被问了很多,我向你保证我已经阅读了大部分答案。但是,就我而言,这些都对我不起作用。我目前正在尝试这个:

window.onload = function(){

    var winWidth = parseInt(window.innerWidth);
    var winHeight = parseInt(window.innerHeight);

    document.getElementById("copyRight").innerHTML = winHeight;
    //This is so I could make sure the height was actually changing. It is.

    document.getElementById("grandeContain").style.width = winWidth-15+"px";
    document.getElementById("grandeContain").style.height = winheight+"px";
    document.getElementById("contain").style.width = winWidth-105+"px";
    document.getElementById("contain").style.height = winHeight-90+"px";
    document.getElementById("outside").style.width = winWidth-105+"px";
    document.getElementById("outside").style.height = winHeight-90+"px";
    document.getElementById("aroundToolBar").style.height = winHeight-90+"px";
}

但是,无论我做什么,高度都不会改变onload(我也有这个副本并粘贴到一个onresize函数中,但这也不起作用)。宽度部分工作正常(不仅仅是因为这是 div 的默认设置;我已经基于许多不同的宽度进行了测试window.innerWidth并且它改变了)但高度拒绝改变。我究竟做错了什么?我一直很难动态改变高度,如果我能一劳永逸地解决这个问题,那就太好了。

此外,如果 css 与它有任何关系,那么 div 树是这样的:grandeContain>contain>(aroundToolBar+outside)where containis position:relative, aroundToolbaris float:leftand width:125px, and outsideis position:relativewith margin 0 0 0 125px

有谁知道我在这里做错了什么?

此外,由于 div 中有页眉和页脚,因此 105 和 90 是唯一存在的grandeContain,它们的兄弟包含。

4

1 回答 1

1

你检查了萤火虫的错误吗?好像就行了:

document.getElementById("grandeContain").style.height = winheight+"px";

你有一个错字: 应该winHeight+"px"代替winheight+"px"; 可能会导致变量未定义错误。

于 2013-02-13T20:18:15.203 回答