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 回答