单击过滤器选项时,帖子/图像重叠,并在窗口调整大小后显示在砖石视图中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单击过滤器选项时,帖子/图像重叠,并在窗口调整大小后显示在砖石视图中相关的知识,希望对你有一定的参考价值。

我创建了一个过滤器来显示我的帖子流行度明智,风格明智和国家明智。

截图:

Screenshot 1: Working fine when page loads it shows all the posts/images properly in masonry.

Screenshot 2: When clicking on filter menus

默认情况下,它在砖石网格视图中显示帖子/图像。

当我点击热门链接/按钮时,它会显示帖子的流行度。

问题是,当我点击热门链接/按钮时,它显示帖子/图像,但所有这些都是重叠的。当我调整页面/窗口的大小时,它会在砌体视图中显示帖子/图像。

这是代码:

JS:

jQuery(document).ready(function($) {

  // init Masonry  
  var $grid = jQuery('#images').masonry({
  // options...
  itemSelector: '.item',
  isFitWidth: true,
  columnWidth: 1
  });

  // layout Masonry after each image loads
  $grid.imagesLoaded().progress( function() {
  $grid.masonry('layout');
  });

  jQuery("span.popularFilter").click(function(){
  var popular = jQuery(this).attr('data-slug');

  jQuery.ajax({
  url : ajaxurl,
  type : 'post',
  data : {
  action : 'post_popular_filter',
  popular_attr : popular
  },
  success : function( response ) {
  jQuery("#images").html(response); 
  $grid.masonry('reloadItems')
  }
  });
  });

});

请帮忙

答案

得到了解决方案:

function masonaryGrid(){
setTimeout(function(){
$grid.masonry('reloadItems')
$grid.masonry('layout');
},true)
}

// init Masonry  
var $grid = jQuery('#images').masonry({
// options...
itemSelector: '.item',
isFitWidth: true,
columnWidth: 1
});

// layout Masonry after each image loads
$grid.imagesLoaded().progress( function() {
$grid.masonry('layout');
});

jQuery("span.popularFilter").click(function(){
var popular = jQuery(this).attr('data-slug');

jQuery.ajax({
url : ajaxurl,
type : 'post',
data : {
action : 'post_popular_filter',
popular_attr : popular
},
success : function( response ) {
jQuery("#images").html(response); 
masonaryGrid();
}
});
});

以上是关于单击过滤器选项时,帖子/图像重叠,并在窗口调整大小后显示在砖石视图中的主要内容,如果未能解决你的问题,请参考以下文章

调整平面按钮的大小并在颤动中提供水平滚动选项

在窗口调整大小时调整图像地图大小

在 Magento 2 的产品视图页面上单击产品图像时如何调整 fotoroma 库弹出窗口的大小?

仅在窗口调整大小时防止 div 重叠(带样式组件)

调整窗口大小后无法正确检索鼠标坐标

多个 Google 地图和引导选项卡仅在窗口调整大小时呈现