0

わかりました、私はこれを数日間機能させようとしています。私はサムネイルスクローラーを持っていますが、以下の提供コードでウィンドウが読み込まれると正常に動作します。しかし、ajax 呼び出しの後はそうではありません。

これは最初にロードされた関数です。

    (function($){
     window.onload=function(){ 
    $("#tS2").thumbnailScroller({ 
        scrollerType:"clickButtons", 
        scrollerOrientation:"horizontal", 
        scrollSpeed:2, 
        scrollEasing:"easeOutCirc", 
        scrollEasingAmount:800, 
        acceleration:4, 
        scrollSpeed:800, 
        noScrollCenterSpace:10, 
        autoScrolling:0, 
        autoScrollingSpeed:2000, 
        autoScrollingEasing:"easeInOutQuad", 
        autoScrollingDelay:500 
    });
}
})(jQuery);

これを ajax 関数のコールバックで以下の部分に追加しようとしましたが、まだ機能しません。

$("#tS2").thumbnailScroller({ 
            scrollerType:"clickButtons", 
            scrollerOrientation:"horizontal", 
            scrollSpeed:2, 
            scrollEasing:"easeOutCirc", 
            scrollEasingAmount:800, 
            acceleration:4, 
            scrollSpeed:800, 
            noScrollCenterSpace:10, 
            autoScrolling:0, 
            autoScrollingSpeed:2000, 
            autoScrollingEasing:"easeInOutQuad", 
            autoScrollingDelay:500 
        });
    }

これを再初期化するにはどうすればよいですか、または On を使用する方法はありますか? 問題は、ajax 呼び出しが完了するまで ID/要素が読み込まれないことです。その後、thumbnailScoller 関数を再アタッチする必要があります。ところで、既に .On を使用している ajax 呼び出しをクリックして実行しますが、この関数をそこに配置しても機能しません。どんな助けでも大歓迎です。

編集:これがajax呼び出しです。

$.ajax({
            type: "POST",
            url: "/ajax.php",
            data: {"pho_id": pho_id, "alb_id": alb_id},
            success: function(response){
                $("#phoajax").html(response);
                $("#tS2").thumbnailScroller({ 
                scrollerType:"clickButtons", 
                scrollerOrientation:"horizontal", 
                scrollSpeed:2, 
                scrollEasing:"easeOutCirc", 
                scrollEasingAmount:800, 
                acceleration:4, 
                scrollSpeed:800, 
                noScrollCenterSpace:10, 
                autoScrolling:0, 
                autoScrollingSpeed:2000, 
                autoScrollingEasing:"easeInOutQuad", 
                autoScrollingDelay:500 
                });
                pslide(alb_id);
            }
        })
4

1 に答える 1

0

その後ではなく、ajax呼び出しのコールバック関数で呼び出す必要があります。

$.post("some_url", {var: var1 .... etc}, function(data){ //the same with $.ajax, $.get
     //HERE !
});

コールバック関数は、ajax呼び出しが完了した後に実行されます。ajax呼び出しでDOM要素を変更または追加した場合は、その変更後にjquery関数を適用する必要があります。

于 2013-02-12T16:21:31.543 に答える