我正在使用 ajax 来刷新包含图像的 div。我最初使用砖石来添加布局。
然后ajax调用返回一个js,使用html()方法刷新div。现在完成后,我正在调用masonry('reloadItems')
. 但是砌体将所有图像加载到另一个上。调整页面大小后,它可以工作。我尝试手动触发页面调整大小,但它不会使砌体进行调整。
JS:
$('#timerange-select, #category_select').bind('change', function() {
form=$('#images-filter-form');
$.get(form.action, form.serialize(),function(){
var $container = $('#images_container');
$container.imagesLoaded(function(){$container.masonry('reloadItems');});
$(window).trigger('resize');
}, 'script');
});
好的,这个 ajax 请求的响应是:
$('#images_container').html('<%= escape_javascript(render("shared/random_issues")) %>');
所以我没有附加图像。准确地说,我正在更换容器。
这实际上是相互加载的 10 个图像。
编辑:请参阅http://stackoverflow.com/questions/17697223/masonry-images-overlapping-above-each-other/17697495?noredirect=1#17697495
css 和 html。