jq列表筛选,根据品牌,风格来筛选效果
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<div>
模式1:
<button data-id="1"> 欧式</button>
<button data-id="2">美式</button>
<button data-id="4">其他</button>
</div>
<div>模式2:
<button class="btn2" data-id="1">欧式</button>
<button class="btn2" data-id="2">美式</button>
</div>
<ul>
<li data-ids="1"><span>欧式</span></li>
<li data-ids="1 3"><span>欧式</span></li>
<li data-ids="1 2"><span>欧式</span><span> 美式</span></li>
<li><span>其他</span></li>
<li><span>现代</span></li>
<li><span>现代</span></li>
<li><span>古老</span></li>
<li><span>传统</span></li>
<li data-ids=""><span>其他</span></li>
<li data-ids="2"><span>美式</span></li>
<li><span>美式</span></li>
<li><span>美式</span></li>
<li><span>美式</span></li>
<li><span>美式</span></li>
<li><span>其他</span></li>
</ul>
<script>
Array.prototype.unique1 = function () {
var res = [this[0]];
for (var i = 1; i < this.length; i++) {
var repeat = false;
for (var j = 0; j < res.length; j++) {
if (this[i] == res[j]) {
repeat = true;
break;
}
}
if (!repeat) {
res.push(this[i]);
}
}
return res;
}
$(function () {
//id模式
$('button').click(function () {
dataId = $(this).attr('data-id');
$('ul li').each(function () {
//默认隐藏
$(this).hide();
dataIds = $(this).attr('data-ids');
if (dataIds != undefined && dataIds != '') {
ids = dataIds.split(" ");//空格分隔成数组
for (i = 0; i < ids.length; i++) {
if (ids[i].trim() == dataId.trim()) {
//存在显示,并结束本次循环
$(this).show();
break;
}
}
}
});
});
//初始化-隐藏不存在按钮
var listIds = [];
$('ul li').each(function () {
//默认隐藏
dataIds = $(this).attr('data-ids');
if (dataIds != undefined && dataIds != '') {
ids = dataIds.split(" ");//空格分隔成数组
for (i = 0; i < ids.length; i++) {
listIds.push(ids[i]);
}
}
});
listIds = listIds.unique1();
$('button').each(function () {
dataId = $(this).attr('data-id');
$(this).hide();
var hasId = false;
for (i = 0; i < listIds.length; i++) {
if (listIds[i] == dataId)
hasId = true;
}
if (hasId)
$(this).show();
})
console.log();
//文字模式
$('button.btn2').click(function () {
text = $(this).text();
$('ul li').each(function () {
$(this).hide();
var hasText = false;
$(this).find('span').each(function () {
//判断去除空格的文字
if (text.trim() == $(this).text().trim()) {
hasText = true;
}
});
if (hasText) {
$(this).show();
}
})
})
});
</script>
</body>
</html>按风格筛选(多个).
下面按品牌筛选:(单个):
$('.brand_letter li').click(function () {
$(this).addClass('cu').siblings('li').removeClass('cu');
var name = $(this).find('a').text();
if ($(this).hasClass("allBrandName")) {
$(".ppjTab_brand li").show();
return;
}
if (name) {
if (name == "─")
name = " ";
var brandItemShow = $(".ppjTab_brand li[data-type='" + name + "']");
var brandItemHide = $(".ppjTab_brand li[data-type!='" + name + "']");
brandItemShow.show();
brandItemHide.hide();
$('.bandHList li').show();
}
})
本文作者: Jasmine
本文链接: https://www.jianbaizhan.com/article/583
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!