用isotope.js过滤后如何获得前6项

时间:2016-02-16 15:03:19

标签: jquery jquery-isotope isotope

我需要为前六个过滤的项目添加一个类。

我从官方文档中获得解决方案的第一项:

$($container.data('isotope').filteredItems[0].element).addClass('first');

如何为接下来的五个项目添加该课程?

2 个答案:

答案 0 :(得分:1)

@ Desandro对Isotope存储库的回答:https://github.com/metafizzy/isotope/issues/1040

这是一种方法:

// get Isotope instance
var iso = $container.data('isotope');
// add class to first 6 elements
iso.filteredItems.forEach( function( item, i ) {
  if ( i < 6 ) {
    $( item.element ).addClass('first-6');
  }
});

// get array of first 6 item elements
var firstElems = iso.filteredItems.slice( 0, 6 ).map( function( item ) {
  return item.element;
});
$( firstElems ).addClass('first-6');

答案 1 :(得分:0)

在循环中做同样的事情:

if($container.data('isotope').filteredItems.length >= 6)
{
    for (var i = 1; i <= 6; i++)
    {
       $($container.data('isotope').filteredItems[i].element).addClass('first');
    }
}