我有一个使用Mixitup过滤内容的当前项目。我需要剩余的元素继承特定的 CSS 样式,反之亦然。似乎我可以做到这一点的唯一方法是将数据属性添加到非隐藏项上,因为 Mixitup 无法从 DOM 中删除元素。
以下是过滤后内容的示例。当从 中选择过滤器时,Mixitup 添加内联样式以隐藏元素<ul class="filter-list">
:
<ul class="filter-list">
<li><a class="filter" href="#" data-filter=".filter-1">Filter 1</a></li>
<li><a class="filter" href="#" data-filter=".filter-2">Filter 2</a></li>
</ul>
<div class="items">
<div class="mix filter-1 filter-item" style="display: none;"></div>
<div class="mix filter-2 filter-item"></div>
<div class="mix filter-1 filter-item" style="display: none;"></div>
<div class="mix filter-2 filter-item"></div>
</div>
这对 Mixitup 使用以下配置:
var mixer = mixitup('.items');
var mixer = mixitup(containerEl);
var mixer = mixitup(containerEl, {
selectors: {
target: '.filter-item'
},
animation: {
duration: 300
}
});
这按预期工作,但理想情况下我想进一步扩展它,所以我得到以下结果:
<div class="items">
<div class="mix filter-1 filter-item" style="display: none;"></div>
<div class="mix filter-2 filter-item" data-order="1"></div>
<div class="mix filter-1 filter-item" style="display: none;"></div>
<div class="mix filter-2 filter-item" data-order="2"></div>
</div>
理想情况下data-order
,每个剩余元素的属性都会增加 1。
这是一个正在进行原型的 Codepen:http ://codepen.io/abbasarezoo/pen/ygWayB/
任何帮助将不胜感激。