Javascript Pacery水平布局从左到右排序
我在用 显示从左到右的Javascript Pacery水平布局从左到右排序,javascript,jquery,css,jquery-isotope,packery,Javascript,Jquery,Css,Jquery Isotope,Packery,我在用 显示从左到右的顺序,但不用于: 使用水平布局,它默认为从上到下的: 问题:两年前,他说无法订购,但此后就再也没有看到任何文档。我真的需要从左到右为水平布局排序。我怎样才能做到这一点 var $grid = $('.grid').packery({ isInitLayout: false, horizontal: true, originLeft: true, gutter: 10, }); ... function orderItems() {
顺序,但不用于:
使用水平布局,它默认为从上到下的:
问题:两年前,他说无法订购,但此后就再也没有看到任何文档。我真的需要从左到右
为水平
布局排序。我怎样才能做到这一点
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 );
似乎不提供从左到右的排序
所以我改为按元素位置排序:
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);
});