Javascript 无限滚动的同位素v2过滤-过滤器未找到所有项目,且窗口未在过滤器上调整大小

Javascript 无限滚动的同位素v2过滤-过滤器未找到所有项目,且窗口未在过滤器上调整大小,javascript,jquery,filter,jquery-isotope,infinite-scroll,Javascript,Jquery,Filter,Jquery Isotope,Infinite Scroll,抬起头来 同位素的GitHub repo还有一个悬而未决的问题,您应该为问题2添加一个“,您可以做的一件事是在同位素过滤后将显示:none样式应用于所有隐藏元素(并从所有可见元素中移除) 我认为您应该能够使用同位素的“on layoutComplete”事件侦听器在正确的时间应用它,如下所示: $container.isotope( 'on', 'layoutComplete', function( isoInstance, laidOutItems ) { $

抬起头来


同位素的GitHub repo还有一个悬而未决的问题,您应该为问题2添加一个“,您可以做的一件事是在同位素过滤后将
显示:none
样式应用于所有隐藏元素(并从所有可见元素中移除)

我认为您应该能够使用同位素的“on layoutComplete”事件侦听器在正确的时间应用它,如下所示:

$container.isotope( 'on', 'layoutComplete',
      function( isoInstance, laidOutItems ) {

          $('.my-elements-class.hiddenStyle').addClass('reallyHiddenStyle');
          $('.my-elements-class.visibleStyle').removeClass('reallyHiddenStyle');
      }
);
当然,您要筛选的元素属于css类
my elements类
,您将同位素筛选应用于
$container
,并定义

reallyHiddenStyle: {
  display: 'none'
}
在你的CSS中

对于问题1,您可能需要使用类似的无限滚动回调策略,在由于滚动而出现新元素时向过滤器添加新元素。 您已经将回调作为
infinitescroll
方法的最后一个参数传递,因此,快速查看一下,类似这样的方法可能会起作用:

$container.isotope('destroy');
$.each(newElements, function (i, el){/** add new elements to arr */});
$container.isotope({ filter: arr });

你有没有可以分享的工作示例?如果你愿意,我可以查看。

你有没有找到解决方案?我遇到了同样的问题problem@SergioWizenfeld-我转向另一种方法来满足最后期限。我可能很快会重新访问上述内容,但是,在这种情况下,我将在这里提供后续帮助,以帮助其他人也一样-我最终使用了有分页功能的,和一些非常有效的过滤器。