2013-10-23 41 views
0

那天我發現了Masonry.js,並且想在項目中開始使用它。爲了練習,我決定嘗試製作一個頁面,每次點擊一個隨機高度和顏色的按鈕時會生成16個div,並觀察它們的位置。事情是,它不工作。 div生成的很好,看起來問題在於讓Masonry重新計算生成的div的容器高度。沒有容器的高度,砌體不能計算任何其他div的適當高度。我已經嘗試在容器上使用clearfix來確保它圍繞嵌套元素延伸,但沒有運氣。誰能幫忙?在jQuery生成的div上使用Masonry.js

Check out this Pen of it

回答

1

您需要使用爲addItems添加項或者銷燬,並重新將它重新計算: http://codepen.io/bhlaird/pen/HusbL

//Reload Masonry 
$wall.masonry('destroy'); 
$wall.masonry({ 
    columnWidth: '.brick', 
    itemSelector: '.brick' 
}); 

您也可以重新加載和佈局:

//Reload Masonry 
$wall.masonry('reloadItems'); 
$wall.masonry('layout'); 
+0

大答案,都工作。第二個答案有生成頂部所有div的有趣效果:0,left:0,然後他們很快轉換到他們的位置。第一個答案,divs就出現在他們的位置。謝謝。 –