使用图像维护砖石物品订单

时间:2018-01-17 10:00:33

标签: javascript jquery queue jquery-masonry imagesloaded

我无法保持砌体物品的顺序,因为它们都有不同时间加载的图像。我的所有项目都是按照有序的方式处理的,每一项都运行这一行来添加它们:

$('#grid').append($div).imagesLoaded(function() {
    $div.show();
    $('#grid').masonry('appended', $div, true);
    $('#grid').data('masonry').layout();
});

问题是每个div都有一个加载一段随机时间的图像,因此加载第一个图像的div会转到前面(通常的顺序)。

我知道jQuery有一些排队功能,但我不确定如何在这里应用它们。

1 个答案:

答案 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');

这似乎解决了现在的排序问题。

相关问题