在jQuery Isotope或Masonry中,我可以忽略一个项目吗?

时间:2012-10-23 23:30:56

标签: javascript jquery jquery-isotope masonry

我有这个我要过滤的项目列表:

<ul id="container">
    <li class="item filter">This is where I'd put my filters</li>
    <li class="item">Item 1</li>
    <li class="item">Item 2</li>
    <li class="item">Item 3</li>
</ul>

那么我想这样执行它......

  $container.isotope({
    itemSelector : '.item'
  });

...但我想要一个像ignore: '.filter'这样的选项。是这样的吗?

整个目标是将过滤器放在容器中,采用相同的样式和过渡。

1 个答案:

答案 0 :(得分:6)

$container.isotope({
    itemSelector : '.item:not(.filter)'
});

只需使用:not()选择器。

修改

您建议将其包含在初始同位素选择中,并将其作为同位素的一项,除非不是 filterable - 至少这是我理解你的方式。<为实现这一点,请保留原文:

$container.isotope({
    itemSelector : '.item'
});

之后,当您使用过滤器时,只需始终包含, .filter
例如:

//Assume something got clicked, which had a data-filter attribute.
var filters = $(this).data('filter');
$container.isotope({
    filter: filters +', .filter'
});