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)ここcontainposition:relativearoundToolbarは、でfloat:leftありwidth:125px、であり、はoutsideです。position:relativemargin 0 0 0 125px

私がここで間違っていることを誰かが知っていますか?

grandeContainまた、105年代と90年代は、兄弟が含まれているdivのヘッダーとフッターのためにそこにあります。

4

1 に答える 1

1

Did you check in firebug for errors? it seems like on the line:

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

you have a typo: should be winHeight+"px" instead of winheight+"px"; maybe causing a variable undefined error.

于 2013-02-13T20:18:15.203 に答える