2011-02-05 9 views
1

ユーザーの画面と同じ幅のHTMLボディとフッターを調整しようとして問題が発生しました。多くのサイトでは、document.body.clientWidthはユーザーの画面幅からツールバーを差し引いたものですと言いますが、これは間違っていると思われます。1024の画面幅があり、下に示すように、使用できる画面幅が1366であることを示すテスト環境を作りました。あなたは調整可能なページ幅の問題、JavaScript

function init(){ 
    document.body.style.width = document.body.clientWidth + "px"; 
    document.getElementById("footer").style.width = document.body.clientWidth + "px"; 
    document.getElementById("screenwidth").innerHTML = document.body.clientWidth; 
} 
+1

Web-Stoneageは終了しているので、この種のタスクに** ** CSSを使用する方がはるかに良いでしょう。全幅の場合は 'width:100%;'を使うだけです。 'marginins'と' paddings'を組み合わせたり、 'position:absolute;'を使って要素の位置とサイズを決めることもできます。また、** JavaScriptを無効にした人**について考える - 美しいレイアウトが欲しい。 – anroesti

答えて

0

私はちょうどあなたの正確なコードを使用し、document.body.clientWidthは私のためにうまく働いています(正しい幅1024を与えました)。

+0

ありがとう、それはおそらく私のCSSです.. –

1

でした:

<body id="body" onload="init();"> 
    <p id="screenwidth">0</p> 
    <div id="footer"> 
     <div class="ruimte"></div> 
    </div> 
</body> 

functies.js:

感謝

HTML ..遠く広いのですボディ/フッタの幅を設定するためにjsが必要な理由を教えてください。 その幅はすでにウィンドウの1つである必要があります。

+0

それは私が試している何かのためのテストページです。私が実際に尋ねる唯一の質問は:document.body.clientWidthが正しい幅を与えるのはなぜですか? –

+0

Ok ...だから、なぜ結果が間違っているのか分かりません。私はそれがあなたのブラウザに依存すると思います。 http://www.geekpedia.com/code100_Get-window-width-and-height.html。または、jQueryを使用して$(window).width()を実行できます。その結果はブラウザ間で一貫しているはずです。 – Robin

+0

あなたのリンクは大いに役立たず、すべてのことに感謝します。誰もがJQueryについて話しています。しばらくそれをチェックしてください。 –

0

あなたは、これはあまりにもスクロールバーを差し引きます

var width = window.innerWidth; 

ページの内側の幅を取得するには、このコードを使用することができます。

関連する問題