0

我在让 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');

    });

  });
4

0 回答 0