在jQuery上使用Masonry.js生成了div

时间:2013-10-23 20:28:38

标签: javascript jquery html css jquery-masonry

前几天我找到了Masonry.js并希望在项目中开始使用它。为了练习,我决定每次点击一个随机高度和颜色的按钮时,我想尝试制作一个可以生成16个div的页面,并观察它们是否正确定位。事情是,它不起作用。 div生成很好,似乎问题是让Masonry从生成的div重新计算容器的高度。如果没有容器上的高度,Masonry无法计算任何其他div的适当高度。我已经尝试在容器上使用clearfix来确保它在嵌套元素周围延伸,但没有运气。有人可以帮忙吗?

Check out this Pen of it

1 个答案:

答案 0 :(得分: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');