Isotope.js 前端响应式JS插件 动态实现瀑布流布局排版、筛选、排序等功能
home
官网地址: https://isotope.metafizzy.co/
博客地址: https://zzzmh.cn/single?id=56
在线项目效果: https://chrome.zzzmh.cn/
Isotope.js 前端响应式JS插件 动态实现瀑布流布局排版、筛选、排序等功能
入门用法
1、筛选过滤
(官网例子: https://isotope.metafizzy.co/filtering.html)
html
<div id="grid"> <div class="element-item transition metal"><p class="number">80</p></div> <div class="element-item post-transition metal"><p class="number">89</p></div> <div class="element-item alkali metal"><p class="number">30</p></div> <div class="element-item transition metal"><p class="number">55</p></div> </div>
javascript
// 全部
$('#grid').isotope({ filter: '*' });
// class 中包含 transition
$('#grid').isotope({ filter: '.transition' });
// class 中包含 metal
$('#grid').isotope({ filter: '.metal' });
// jQuery 代码过滤
$('#grid').isotope({
filter: function() {
var number = $(this).find('.number').text();
return parseInt( number, 10 ) > 50;
}
})在我的项目中的效果 : (在线地址: https://chrome.zzzmh.cn/)
2、排序
(官网例子 https://isotope.metafizzy.co/sorting.html)
html
<div id="grid"> <div class="element-item transition metal" data-category="transition"> <p class="number">79</p> <h3 class="symbol">Au</h3> <h2 class="name">Gold</h2> <p class="weight">196.966569</p> </div> <div class="element-item metalloid" data-category="metalloid"> <p class="number">51</p> <h3 class="symbol">Sb</h3> <h2 class="name">Antimony</h2> <p class="weight">121.76</p> </div> ... </div>
javascript
// 目标div中的子元素里 class 为 name 的值
$('#grid').isotope({ sortBy: 'name' })
// 目标div中的子元素里 class 为 number 的值
$('#grid').isotope({ sortBy: 'number' })
// 进阶
$('#grid').isotope({
// 定义data
getSortData: {
category: '[data-category]', // 指目标div中的attribute的值,例如前面html里的 data-category="metalloid"
number: '.number' //目标div中的子元素里 class 为 number 的值
},
// 排序
sortBy: number, // 按照某个data排序,也支持多个,写作 sortBy:[number, category],
// 是否升序 true or false
sortAscending: false
});在我的项目中的效果 : (在线地址: https://chrome.zzzmh.cn/)
入门功能就是这些,进阶功能建议访问官网查看: https://isotope.metafizzy.co

