2016-08-12 107 views
1

我創建加載通過AJAX外部內容的頁面。貓頭鷹旋轉木馬,阿賈克斯負載

$(".link").click(function(e) { 
    e.preventDefault() 
    $("#ajax-container")load("external-file.php"); 
}); 

這工作,但在外部文件的內容包含貓頭鷹旋轉木馬,它會出現在加載的HTML,但不(再)初始化。

根據貓頭鷹文檔和SIMIALR帖子(How to reinitialize Owl Carousel after ajax call),我需要銷燬並重新啓動傳送帶。 當連接到獨立點擊時,此功能完美無缺。

$(".button").click(function(e){ 
    e.preventDefault() 
    $("#carousel").data('owlCarousel').destroy(); 
    $("#carousel").owlCarousel(); 
}); 

但我需要這個發生沒有額外的點擊ajax文件加載後。我已經嘗試了所有以下方法,但沒有運氣。

// adding to original 
$(".link").click(function(e){ 
    e.preventDefault() 
    $("#ajax-container")load("external-file.php"); 
    $("#carousel").data('owlCarousel').destroy(); 
    $("#carousel").owlCarousel(); 
}); 

// in addition to original 
$(".link-second-classname").click(function(e) { 
    e.preventDefault() 
    $("#carousel").data('owlCarousel').destroy(); 
    $("#carousel").owlCarousel(); 
}); 

// ajaxComplete 
$(document).ajaxComplete(function(e){ 
    e.preventDefault() 
    $("#carousel").data('owlCarousel').destroy(); 
    $("#carousel").owlCarousel(); 
}); 

// ajaxSuccess 
$(document).ajaxSuccess(function(e){ 
    e.preventDefault() 
    $("#carousel").data('owlCarousel').destroy(); 
    $("#carousel").owlCarousel(); 
}); 

任何幫助或建議將大規模讚賞。

謝謝。

回答

1

您應該能夠初始化使用jQuery load方法的回調參數的轉盤。

$(".link").click(function(e) { 
    e.preventDefault(); 
    $("#ajax-container").load("external-file.php", function() { 
     $("#carousel").owlCarousel(); 
    }); 
}); 
+0

你是一個明星。謝謝。 – fluffyside