我正在使用 jQuery 插件MixItUp对我拥有的内容列表进行一些过滤。
该插件提供了一个开箱即用的multiFilter,但问题是它显示了所有内容,然后当您单击其中一个过滤器时,它会将其从列表中删除,而我想要它以便当您选择其中一个过滤器时,它只显示一个。如果您单击另一个,它也会显示该内容。 有一个演示与我想要的类似,但它比我需要的更复杂 - 它有两个类别的过滤器,我只需要一个。
在演示中,他们不使用“multiFilter”选项。相反,他们似乎为“过滤器”选项定义了字符串,然后根据单击的过滤器将其吐出。我确实尝试解构他们所做的并按照我想要的方式对其进行改造,但未能真正实现。
基本上我迷路了,所以希望有人以前玩过这个插件。我只是想朝正确的方向踢。我是否需要编写自定义点击功能而忘记使用 multiFilter,尝试设置过滤器字符串,或者可以自定义默认的 multiFilter?
这里有一个添加插件 js 和默认的 multiFilter 功能的小提琴
HTML
<div id="filter">
<span>Filter</span>
<ul class="filter-list">
<li data-filter="all" class="filter active"><a href="#">All</a></li>
<li data-filter="lemon" class="filter"><a href="#">Lemon</a></li>
<li data-filter="orange" class="filter"><a href="#">Orange</a></li>
<li data-filter="apple" class="filter"><a href="#">Apple</a></li>
</ul>
</div>
<ul id="grid">
<li class="mix lemon">
<h3>Lemon</h3>
<p>Some text here</p>
</li>
<li class="mix orange">
<h3>Orange</h3>
<p>Some text here</p>
</li>
<li class="mix apple">
<h3>Apple</h3>
<p>Some text here</p>
</li>
</ul>
JS
$('#grid').mixitup({
multiFilter: 'true',
showOnLoad: 'lemon orange apple'
});