我正在使用Desandro的 Masonry Plugin v3.1.2。我正在从数据库中加载多个内容部分,这些部分应该使用这种布局类型(不同的宽度和高度;有和没有图像等)显示。我在顶部有一些按钮来切换不同的内容行。但是,当我隐藏所有行并显示用户选择的行时,砌体停止工作。我必须更改浏览器大小以使框再次获得正确的布局。
这是一个代码:http: //jsfiddle.net/jpruizs/x66nY/1/
正如您在第一次加载页面时所看到的那样,这些框的布局是正确的,但是当您单击顶部的一个链接时,这些框会显示在一个垂直列中。
$(function(){
// Apply masonry layout to all containers
var $container = $('.container');
$container.masonry({
columnWidth: 50,
itemSelector: '.activity',
gutter: 15
});
$('.link').click(function(){
// Hide all visible containers
$(".container:visible").hide();
// Get the container to show
row = $(this).attr('data-row');
var $container = $("." + row);
$container.toggle('slow');
$container.masonry({
columnWidth: 50,
itemSelector: '.activity',
gutter: 15
}).masonry();
});
});
如果您调整浏览器窗口(或小提琴面板)的大小,您将看到砌体布局再次重新加载。
任何人都知道如何解决这个问题?
谢谢