0

私のWebサイトには、高さが100%の本体があります。jqueryは本体の高さを見つけて、サイドバーのcssを高さに合わせて変更することになっています。Firefox とすべてのバージョンの IE で動作しますが、Chrome や Safari では動作しません。私はこれに少し慣れていないので、助けてくれてありがとう。ここに私のサイトがあります: http://avk.io-web.com/product-list/healthy-gormet-cookies そしてここに私のjqueryがあります:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>    
<script type="text/javascript">
$(document).ready(function() {

var SecondaryContentHeight= $(".secondary_body_content").height()
$(".left_menu").css("height", SecondaryContentHeight);
});
</script>
4

3 に答える 3

1
<script type="text/javascript">
$(window).load(function() {
    var SecondaryContentHeight = $(".secondary_body_content").height();
    $(".left_menu").css("height", SecondaryContentHeight);
});
</script>

または最適化

<script>$(window).load(function(){$(".left_menu").css("height",$(".secondary_body_content").height())})</script>
于 2012-08-20T23:52:24.983 に答える
1

問題は、本文の内容がすべて読み込まれる前に高さを取得していることです。本文コンテンツの大きな画像を削除すると、ほとんどが並んでいることがわかります。ページ内のすべての読み込みが完了したときではなく、DOM の準備ができたときにドキュメントの準備完了が起動することを忘れないでください。.load() イベントをページ上の画像にバインドして、左側のメニューの高さを計算できますが、100% は機能しません。

理想的な解決策は、すべてを HTML と CSS で行うことです。固定列の CSS レイアウト サンプルが多数あります。一例はこちら

ちなみに、キャッシュをクリアして十分に速くスクロールすると、FireFox でも機能しません。画像が JavaScript の前に読み込まれることがありますが、それは保証されません。

于 2012-08-21T00:10:44.987 に答える
0

これはあなたのウェブサイトのクロムで私にとってはうまくいくようです:

$(".left_menu").height($(".secondary_body_content").height());
于 2012-08-21T00:06:42.163 に答える