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-我转向另一种方法来满足最后期限。我可能很快会重新访问上述内容,但是,在这种情况下,我将在这里提供后续帮助,以帮助其他人也一样-我最终使用了有分页功能的,和一些非常有效的过滤器。