我在让 Masonry 使用 Drupal 8 中的无限滚动页面时遇到了一些麻烦。
当它使用 ajax 加载新项目时,砌体不会在新项目上运行,因此无法正确显示它们。
我花了几个小时试图让它工作,但似乎没有让它重新加载。我也尝试过附加,但这似乎也没有成功。
var $grid = $('.view-id-articles .view-content');
$grid.imagesLoaded( function(){
$grid.masonry({
itemSelector: '.views-row',
columnWidth: '.grid-sizer',
percentPosition: true,
gutter: 12
});
$(document).on('infiniteScrollComplete', function() {
var $items = $('.view-id-articles .view-content .views-row');
console.log('infiniteScrollComplete');
console.log($items); // refresh masonry
$grid.masonry({
itemSelector: '.views-row',
columnWidth: '.grid-sizer',
percentPosition: true,
gutter: 12
});
$grid.masonry('reloadItems');
$grid.masonry('layout');
});
});