我无法保持砌体物品的顺序,因为它们都有不同时间加载的图像。我的所有项目都是按照有序的方式处理的,每一项都运行这一行来添加它们:
$('#grid').append($div).imagesLoaded(function() {
$div.show();
$('#grid').masonry('appended', $div, true);
$('#grid').data('masonry').layout();
});
问题是每个div都有一个加载一段随机时间的图像,因此加载第一个图像的div会转到前面(通常的顺序)。
我知道jQuery有一些排队功能,但我不确定如何在这里应用它们。
答案 0 :(得分:0)
所以,我最终使用了队列。我已将个别功能更改为
$('#grid').queue('items', function( next ) {
$('#grid').imagesLoaded(function() {
$div.show();
$('#grid').masonry('appended', $div, true);
$('#grid').data('masonry').layout();
next();
});
});
添加完每组元素后,我只需调用
$('#grid').dequeue('items');
这似乎解决了现在的排序问题。