0

divの高さを読み取ってから、他のスクリプトのサイズを変更するスクリプトで問題が発生しました。

基本的にはたまにしかやっていない。

その関数は、すべての要素が実際にロードされる前にdivの高さを取得しているように見えます。

function recalculate_h() {
    if ($(".content_full").is(":visible")){
           var cur = $(".content_full").height()+100;
             animate_height(cur);

       }
}

function smooth_change(way) {
 // rest of the code
    $("#here").load("index.php?siteno="+next+" #there", function(evt) {

        $("#outer").attr("siteno", next);    
            recalculate_h(); 
    });
}

そしてそれはdocument.ready内で呼び出されます

$(".left_navigator").click(function() {
        smooth_change("back");
});

私が間違ったことをしたかもしれないアイデアはありますか?

PS

サイトをナビゲートするには、基本的な更新属性とGET属性を使用する方法と、ajaxリクエストを使用してスムーズに移動する方法の2つがあります。さらに、このようにページが読み込まれるたびにrecalculate_hが呼び出され、これは完全に機能しています。

$(window).load(function() {

     recalculate_h();
     //$('#map_canvas').gmap();

});

4

2 に答える 2

0

jquery ajax呼び出しを使用してindex.php?siteno ....をロードし、recalculate_h();を呼び出してみてください。ajaxの完全なイベントで?

これらの値を正しく設定していないようです。

var middle_banner_height = 100;
var middle_banner_width = 802; 

次のように設定する必要があります。

var middle_banner_height = "100px";
var middle_banner_width = "802px"; 

さらに、この呼び出しでは、middle_banner_widthの代わりにmidle_banner_withを設定して、midle_banner_withが定義されていないようにします。とにかく、これはバグ全体を解決したいのかもしれませんが、スクリプトはここで壊れています。

于 2013-02-20T14:47:24.270 に答える
0

以前のプロジェクトの 1 つで同じシナリオを実行しましたが、それを解決する方法は、サイズを変更する要素を取得し、その css を height: auto に設定することです。次に、残りのコードを追加します。それが機能するかどうか教えてください。

于 2013-02-20T16:53:47.903 に答える