我将Metafizzy's packery与draggabilly一起使用。
ordering codepen显示left-to-right
排序,但horizontal layouts不显示:
使用水平布局,默认为top-to-bottom
:
问题:两年前,他说left-to-right订购是不可能的,但从那以后没有看到任何文件。我真的需要left-to-right
排序horizontal
布局。我怎么能做到这一点?
var $grid = $('.grid').packery({
isInitLayout: false,
horizontal: true,
originLeft: true,
gutter: 10,
});
...
function orderItems() {
var itemElems = $grid.packery('getItemElements');
$( itemElems ).each( function( i, itemElem ) {
$( itemElem ).text( i + 1 );
});
}
$grid.on( 'layoutComplete', orderItems );
$grid.on( 'dragItemPositioned', orderItems );
答案 0 :(得分:0)
似乎packery
提供从左到右的排序。
所以我按元素位置排序:
var itemElems = $grid.packery('getItemElements');
let sorted = $(itemElems).sort((a, b) => {
let $a = $(a);
let $b = $(b);
let aTop = $a.position().top;
let aLeft = $a.position().left;
let bTop = $b.position().top;
let bLeft = $b.position().left;
return parseFloat(aTop) - parseFloat(bTop) || parseFloat(aLeft) - parseFloat(bLeft);
});