適用された 'height' css プロパティを無視した場合、ページ上の要素の高さを取得するにはどうすればよいですか?
私が取り組んでいるサイトはhttp://www.wncba.co.uk/resultsで、これまでに取得した実際のスクリプトは次のとおりです。
jQuery(document).ready(function($) {
document.origContentHeight = $("#auto-resize").outerHeight(true);
refreshContentSize(); //run initially
$(window).resize(function() { //run whenever window size changes
refreshContentSize();
});
});
function refreshContentSize()
{
var startPos = $("#auto-resize").position();
var topHeight = startPos.top;
var footerHeight = $("#footer").outerHeight(true);
var viewportHeight = $(window).height();
var spaceForContent = viewportHeight - footerHeight - topHeight;
if (spaceForContent <= document.origContentHeight)
{
var newHeight = document.origContentHeight;
}
else
{
var newHeight = spaceForContent;
}
$("#auto-resize").css('height', newHeight);
return;
}
[ http://www.wncba.co.uk/results/javascript/fill-page.js ]
私がやろうとしているのは、メイン ページのコンテンツを拡大してウィンドウを埋めることです。これにより、緑色の線が常にページの下まで流れ、「有効な HTML5」および「設計者」のメッセージがページの下部より上に表示されることはありません。窓。フッターを一番下に貼り付けたくありません。上に入力するのに十分なコンテンツがない場合は、ページを上に移動するのではなく、そこにとどまることを望んでいます。また、ブラウザ ウィンドウのサイズが変更された場合にも、それに応じて適応する必要があります。
これまでに取得したスクリプトは機能しますが、修正したい小さな問題があります。現時点では、ページのコンテンツが動的に変化する (ページが長くなったり短くなったりする) 場合、スクリプトはこれを検出しません。変数document.origContentHeight
は古い高さとして設定されたままになります。
要素の高さを検出する方法はありますか (例では #auto-resize など)、CSS で設定された高さを無視して変更されたかどうかを確認する方法はありますか? 次に、これを使用して変数を更新しdocument.origContentHeight
、スクリプトを再実行します。
ありがとう。