具体效果点击查看
具体的js代码如下:
<script>
var crumbData = [{
"title": "品牌",
"data": ["苹果", "小米", "锤子", "魅族", "华为", "三星", "OPPO", "vivo", "乐视"]
},
{
"title": "尺寸",
"data": ["4.0-4.5英寸", "4.6-4.9英寸", "5.0-5.5英寸", "6.0英寸以上"]
},
{
"title": "系统",
"data": ["android", "ios", "window phone", "无", "其他"]
},
{
"title": "网络",
"data": ["联通3G", "双卡单4G", "双卡双4G", "联通4G"]
}
]
// 展示数据
var oUl = document.querySelector("#type");
crumbData.forEach(function (item, index) {
var oLi = document.createElement("li");
oUl.appendChild(oLi);
var oSpan = document.createElement("span");
oSpan.innerHTML = item.title;
oLi.appendChild(oSpan);
var arrDate = item.data;
arrDate.forEach(function (item) {
oLi.innerHTML += `<a href="javascript:;">${item}</a>`
// oLi.innerHTML+='<a href="javascript:;">'+item+'</a>'
})
})
// 点击每一个li后面的a,高亮的样式,还要把点击后的内容放入信息栏,排序。
var oLiList = document.querySelectorAll("#type li");
var oChooseDiv = document.querySelector("#choose div");
var chooseObj = {};
oLiList.forEach(function (item, index) {
// 为每一个li自定义一个属性,存放被点击的a标签。
item.oldA = null;
var oAList = item.querySelectorAll("a");
oAList.forEach(function (item) {
item.onclick = function () {
// 找到被点击的a的父级li
var parentLi = item.parentNode;
if (parentLi.oldA) {
parentLi.oldA.style.color = "";
}
this.style.color = "#f30";
parentLi.oldA = this;
/* chooseObj={
"0":"小米",
"2":"IOS",
"1":"4.0"
} */
chooseObj[index] = this.innerText;
// console.log(chooseObj);
var html = "";
for (var i = 0; i < oLiList.length; i++) {
if (chooseObj[i]) {
html += `<mark>${chooseObj[i]}<a href="javascript:;" data-index="${i}">x</a></mark>`
}
}
oChooseDiv.innerHTML = html;
// 点击放入信息栏的每一个内容的关闭按钮,删除该内容,还要把下面每一个li对应的高亮要去掉。
var oChooseA = oChooseDiv.querySelectorAll("a");
// console.log(oChooseA);
oChooseA.forEach(function (item) {
item.onclick = function () {
item.parentNode.remove();
// console.log(item.getAttribute("data-index"));
// console.log(item.dataset);
delete chooseObj[item.dataset.index];
oLiList[item.dataset.index].oldA.style.color="";
}
})
}
})
})
发表评论:
◎请发表你卖萌撒娇或一针见血的评论,严禁小广告。