私は、動的な Web ページの合計の高さを検出し、それをページの背景である div の高さに適用する単純な JavaScript 関数を求めています。それを実装することは可能でしょうか?divはbgと呼ばれます...何かアイデアはありますか? 前もって感謝します
4 に答える
試す:
var height = body.offsetHeight ? body.offsetHeight : html.offsetHeight;
document.getElementById ('divID').style.height = height + 'px';
ここに便利なドキュメントがあります:
これは、適切に調整する目的で iFrame のコンテンツの高さを把握するために使用するものです。
var body = document.body,
html = document.documentElement,
height = 0;
height = body.offsetHeight;
if(height === 0){
height = html.offsetHeight;
}
body
最初のものを確認する理由は、の高さhtml
が実際には iFrame の高さであり、コンテンツ自体よりも大きい可能性があるためです。ただし、height がない場合などの特定のケースでは、代わりにbody
高さ of を使用するようにフォールバックしますhtml
。
あなたの場合、同様のスキームを試してみたいと思うかもしれません。背景を設定するためにa を使用する必要がある理由がわからないdiv
ので、より良い代替案を提案することはできません (もしあれば)。
以下のコメントに基づく解決策:
できることは以下です。メイン コンテナ内に絶対位置、幅/高さ 100%、z-index -1 の div を配置します。そうすれば、コンテナがどれだけ大きくなったり縮小したりしても、常に正しいサイズになります。このアプローチでは、コンテナーに常にサイズがあることを確認する必要があります。これは純粋な CSS ソリューションであり、Javascript を使用して調整するよりも簡単かもしれません。
それを行うために現在次のコードを使用しています:
var getBodyHeight = function () {
var d = document,
bd = d.body,
dd = d.documentElement,
max = Math.max(
bd.scrollHeight,
bd.offsetHeight,
bd.clientHeight,
dd.offsetHeight,
dd.scrollHeight,
dd.clientHeight
);
return max;
};
var height = screen.height;
var width = screen.width;
var resolution = width+"x"+height;
alert(resolution);
画面の解像度が得られます。ページの高さと幅が必要なのはわかっていますが、後でWeb開発に役立ちます。私は私のウェブの最も重要な部分としてそれを使用しています!