Jquery 更新后彼此加载砌体 Ajax div

我用 ajax 更新 div, 包含图像。 我使用石头躺着最初添加布局。

然后打电话 ajax 回报 js, 哪个更新 div 使用方法 html//. 现在它结束了,我打电话
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'/;
}/;


OKay 回答这个要求 ajax 这样的 ::


$/'#images_container'/.html/'<%= escape_javascript/render/"shared/random_issues"// %>'/;


因此,我不添加图像。 我更换容器准确。

实际上它 10 图像彼此加载。

EDIT: 厘米。
[url=http://stackoverflow.com/questions/17697223/masonry-images-overlapping-above-each-other/17697495?noredirect=1#17697495]http://stackoverflow.com/quest ... 97495[/url]

为了 css 和 html.
已邀请:

涵秋

赞同来自:

好吧,似乎我决定了这个问题。

我收到了一个砌体对象:


var masonry = $/'#issue_container'/.data/'masonry'/;


现在,使用这种方法,我打电话
reloadItems//

, 接着
layout//

. 在第一次调用该方法之后,每个元素在一个瓦片中彼此叠加,然后在呼叫之后 layout// 形成了良好的布局布局。 从左上角移动到一个良好的布局的动画也看起来很好 :D.

江南孤鹜

赞同来自:

我刚决定看起来类似的问题。 我有一个外部 div /石砌体容器/, 安装了哪个
{display: none}

在 CSS, 然后后来可以看到可见
$/'#...'/.show//;

, 我有同样的问题。 当容器 div + 第一次变得可见,所有元素都重叠。 然后,当窗口的大小变化时,它被正确重新绘制。

问题似乎得出结论,当元素首次创建时 div 等于零。 /安装原因
display:none

/, 在显示时 Div /
.show//;

/ 元素已经可视化为零高度容器。 因此巧合。

我纠正了它,防止布局初始化直到它变得可见


$myContainer = $/'#myTiles'/;
$myContainer.masonry/{
itemSelector: '.myTile',
isInitLayout: false
}/;


然后稍后调用布局 /在我的情况下,单击按钮/ 通过


$myContainer.masonry//;


我检查了代码,无法使用您的设置重现在我身边的问题 css / script... 但如果有帮助,我决定分享我的决定。

要回复问题请先登录注册