在ajax调用之后绑定jQuery函数

时间:2013-02-12 16:19:14

标签: jquery

好的,我一直试图让它工作几天。我有一个缩略图滚动条,当窗口加载下面的提供代码时,它工作正常。但是在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函数。顺便说一下,我点击进行已经使用过的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);
            }
        })

1 个答案:

答案 0 :(得分:0)

你必须在ajax调用的回调函数中调用它,而不是在它之后:

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

回调函数在ajax调用完成后执行,如果使用ajax调用修改或添加任何DOM元素,则需要在修改后应用jquery函数。