2015-10-03 43 views
2

我想從第二個HTML工作表(b.html)使用加載的div創建一個HTML頁面(index.html)。我希望使用Jquery Slick插件將加載的內容顯示在輪播中。我用下面的代碼加載內容,然後把它變成一個旋轉木馬:使用JQuery的加載方法與Slick插件

index.html中

<div id='includedContent' class='slides'></div> 

在code.js文件

$("#includedContent").load("b.html"); 
$('.slides').slick(); 

的div出現一個接一個地在頁面中,但不在旋轉木馬中。如果我將div直接包含在索引HTML文件(index.html)中,只需使用$('.slides').slick();即可調用插件。

是否以不同的方式處理了「加載」內容? 對JavaScript很新穎,所有幫助表示讚賞。

回答

2

只有在加載內容初始化插件後,您才需要等待加載內容。所以移動成功回調函數中的代碼load()。在你的代碼$('.slides')選擇器不會得到任何元素,因爲它尚未加載。

$("#includedContent").load("b.html",function(){ 
    $('.slides').slick(); 
}); 
+1

謝謝,感覺我已經陷入了一個陷門,進入了一個全新的理解世界。在我一直關注的任何教程中,我都沒有遇到這種異步編程思想。 – Kerst

0

只需加載內容並致電.slick()加載程序。

$("#includedContent").load("b.html", function() { 
    $('.slides').slick(); 
}); 

.load()將第二個參數作爲加載內容後執行的函數。因此,.slick(),在現有內容上執行。你不可能委託像事件,所以使用success回調。