2013-10-04 115 views
-1

我用這:使用jQuery追加砌築

$('#loadmore').click(function() { 
$.ajax({ 
    url: 'includes/loadmorebuilds.php', 
    success: function(html) { 
     $("#content").append(html); 
    } 
}); 
}); 

要裝入多個項目成與jQuery的磚石排序的容器。但是,當它們被追加時,它們不會跟隨其餘的項目並破壞砌體風格。

新項目作爲砌體佈局工作,但他們只是不繼續從第一個。他們從自己的路線開始。

我已經搜查,發現在其網站上這樣的信息:

msnry.appended(elements) 
// or with jQuery 
$container.masonry('appended', elements) 

我只需要幫我修改原始腳本,使追加項目砌築工作。

謝謝,craig。

+0

從來沒有[重複您自己的問題](http://stackoverflow.com/q/19191723/367456)只是因爲你還沒有信心的答案。相反,請參閱幫助部分,瞭解您可以採取哪些更多的工作和努力來改進您的研究,編寫用於複製和提出問題的代碼示例。然後使用*編輯*按鈕並改善您的原始問題。否則,您只會看到降薪,並且您會推動想要幫助的潛在用戶。 – hakre

回答

1

你可以做的是將你的傳入的html附加到砌體容器,然後'通知'石工關於它。看看this fiddle。因此,在你的榜樣,你的成功回調可能類似於:

//...  
success: function(html) { 
    var content = $("#content"), 
     elements = $(html); 
     // would make sense to reference your masonry container through 
     // a variable used earlier in the script, but that should work too 
     content.append(html).masonry('appended', elements); 
} 
//... 

還有一些其他的方法可以做到這一點,但它應該能滿足你所​​描述的。重要的是你傳遞的是'Type: Element, NodeList, or Array of Elements'的元素,所以你可能想要檢查你實際接收的內容。