【发布时间】:2014-06-18 05:07:28
【问题描述】:
我环顾四周,但找不到任何接近我想要的东西(仍在学习)。
场景
我正在使用http://isotope.metafizzy.co/ 过滤 rss 数据。
我正在拉 6 个不同的 RSS 提要,每个提要 10 个帖子,总共 60 个。
每组提要有 6 个过滤器(组合类型),这意味着我可以选择一次过滤多个。
由于数据量大,我只想在页面上显示最新的前15个。
据我了解,Isotope 需要查看全部数据才能正确过滤。
那么,问题是我怎么能只显示 15,无论我选择多少过滤器组合?
我不能使用 ':nth-child(-n+15)',因为它只会选择 DOM 中的布局,而不是定位的元素。有什么指点吗?
伪代码:
$container.imagesLoaded(function(){
$container.isotope({
filter : comboFilter,
itemSelector : '.element',
}, function displayOnly15($elem) {
//how do I display only 15?
})
});
我是否错过了之前或之后的重要步骤/过程?
发现我可以这样做:
var $filtered = $container.data('isotope').$filteredAtoms;
然后使用类似的东西:
$keep = $filtered.slice(0,14);
$remove = $filtered.filter(function(i){
return i > 14;
});
但是打电话:
$container
.isotope( 'insert', $keep)
.isotope( 'remove', $remove );
...之后,快速连续刷新布局两次。
救命!
【问题讨论】:
标签: jquery filtering limit jquery-isotope