用同位素过滤后如何获得前 6 个项目.js



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

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

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

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

@Desandro在同位素存储库上的答案: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');

只需在循环中执行相同的操作:

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

相关内容

  • 没有找到相关文章

最新更新