dev*_*aly 3 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>
Run Code Online (Sandbox Code Playgroud)
那么我想像这样执行它......
$container.isotope({
itemSelector : '.item'
});
Run Code Online (Sandbox Code Playgroud)
...但我想要一个选项ignore: '.filter'
.这样的事情是可行的吗?
整个目标是将过滤器放在容器内,采用相同的样式和过渡.
$container.isotope({
itemSelector : '.item:not(.filter)'
});
Run Code Online (Sandbox Code Playgroud)
只需使用:not()
选择器.
编辑:
您建议将其包含在初始同位素选择中,并将其作为同位素的项目,除非不可过滤 - 至少这是我理解您的方式.
所以要实现这一点,请保留原文:
$container.isotope({
itemSelector : '.item'
});
Run Code Online (Sandbox Code Playgroud)
稍后,当您执行过滤器时,只需始终包含, .filter
示例:
//Assume something got clicked, which had a data-filter attribute.
var filters = $(this).data('filter');
$container.isotope({
filter: filters +', .filter'
});
Run Code Online (Sandbox Code Playgroud)