1

私はしばらくの間このコードに取り組んできました。ギャラリーページにajaxが読み込まれたら、SmoothDivScrolljqueryプラグインを実装しようとしています。これが私のjsとajaxです。ギャラリーにajaxをロードしなくても、smoothdivscrollは正常に機能することに注意してください。

$(document).ready(function(){

    $('.more').live('click',function(){
        var href = $(this).attr('href');
        if ($('#ajax').is(':visible')) {
            $('#ajax').css('display','block').animate({height:'1px'}).empty();
        }
        $('#ajax').css('display','block').animate({height:'380px'},function(){
            $('#ajax').html('<img class="loader" src="images/loader.gif" alt="">');
            $('#ajax').load('content.php #'+href, function(){
                $('#ajax').hide().fadeIn().highlightFade({color:'#717171'});
            });
        });
        return true;
    });

    $("div#makeMeScrollable").smoothDivScroll({
        mousewheelScrolling: true,
        manualContinuousScrolling: true,
        visibleHotSpotBackgrounds: "always",
        autoScrollingMode: "onstart"
    });

});

更新:@Mathleticsの回答は、コールバックでプラグインを呼び出すことによってプラグインをロードしましたが、smoothscrollingdivはそれほどスムーズではありません。写真はインラインではなく、スライドは非常にぎくしゃくしています。ajaxでロードしなくても完全に正常に動作します。以下に、ajaxを使用した場合と使用しない場合のリンクを示します。

Ajax Loaded:メニューからギャラリーを選択します

Ajaxなし:これがギャラリーの本来の姿です

4

1 に答える 1

1

smoothDivScrollコールをコールバックに移動します。

$(document).ready(function(){

    $('.more').live('click',function(){
        var href = $(this).attr('href');
        if ($('#ajax').is(':visible')) {
            $('#ajax').css('display','block').animate({height:'1px'}).empty();
        }
        $('#ajax').css('display','block').animate({height:'380px'},function(){
            $('#ajax').html('<img class="loader" src="images/loader.gif" alt="">');
            $('#ajax').load('content.php #'+href, function(){
                $('#ajax').hide().fadeIn().highlightFade({color:'#717171'});
                    $("div#makeMeScrollable").smoothDivScroll({
                    mousewheelScrolling: true,
                    manualContinuousScrolling: true,
                    visibleHotSpotBackgrounds: "always",
                    autoScrollingMode: "onstart"
                });

            });
        });
        return true;
    });


});
于 2012-08-02T18:18:29.077 に答える