'height' CSSプロパティが無視された場合、ページ上の要素の高さはどのようになるでしょうか?CSSの高さが適用された後で、Webページの要素のデフォルトの高さを取得する)
私が働いているサイトが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
は古い高さとして設定されたままです。
要素の高さを検出する方法(例では#オートリサイズなど)とCSSに設定されている高さを無視して変更したかどうかを確認できますか?私はこれを使用して変数document.origContentHeight
を更新し、スクリプトを再実行します。
ありがとうございました。
http://stackoverflow.com/questions/4222951/javascript-dom-tree-duplicate-for-manipulationにあるメソッドを使用してページをクローンし、それに余分な「高さ」プロパティを削除してからその高さはその仕事でしょうか?私はそれが変更されたかどうかを確認するためにそれを数秒ごとにクローンしなければならないと思いますか?これはたくさんの記憶を使うでしょうか?私はそれをどうやってやりますか? –