JS实现商品筛选功能

秋天,大雁南飞,草木枯荣,掉落下的依依不舍的树叶随着瑟瑟的秋风飞动。尽管田园一片荒凉,但金灿灿的干草已覆盖了整个大地,几颗松树笔直的立在大地上,天空是多么广阔,多么蔚蓝!地是多么浩瀚,多么无边!天和地连在了一起,已分不清地平线在哪里,秋天的原野拥抱着蓝天,广阔的蓝天拥抱着田野!

每天一个JS 小demo之商品筛选。主要知识点:DOM方法综合运用

效果图:

代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
nav {
height: 50px;
}
nav span {
margin: 0 5px;
}
.show {
color: red;
}
</style>
</head>
<body>
<nav></nav>
<ul>
<li>
<strong>手机:</strong>
<a rel="nofollow noopener noreferrer" href="javascript:;">锤子T1</a>
<a rel="nofollow noopener noreferrer" href="javascript:;">锤子T2</a>
<a rel="nofollow noopener noreferrer" href="javascript:;">坚果U1</a>
<a rel="nofollow noopener noreferrer" href="javascript:;">锤子M1</a>
<a rel="nofollow noopener noreferrer" href="javascript:;">坚果Pro</a>
</li>
<li>
<strong>价格:</strong>
<a rel="nofollow noopener noreferrer" href="javascript:;">3200</a>
<a rel="nofollow noopener noreferrer" href="javascript:;">2600</a>
<a rel="nofollow noopener noreferrer" href="javascript:;">899</a>
<a rel="nofollow noopener noreferrer" href="javascript:;">2799</a>
<a rel="nofollow noopener noreferrer" href="javascript:;">2299</a>
</li>
<li>
<strong>屏幕:</strong>
<a rel="nofollow noopener noreferrer" href="javascript:;">399</a>
<a rel="nofollow noopener noreferrer" href="javascript:;">600</a>
<a rel="nofollow noopener noreferrer" href="javascript:;">800</a>
<a rel="nofollow noopener noreferrer" href="javascript:;">1200</a>
</li>
</ul>
<script type="text/javascript">
(function(){
var nav = document.querySelector('nav');
var li = document.querySelectorAll('li');
var ids = [];
for(var i = 0; i <li.length; i++){
setClick(li[i],i);
}
function setClick(parent,index){
var option = parent.getElementsByTagName("a");
for(var i = 0; i < option.length; i++){
/*
建一个数组
*/
option[i].onclick = function(){
for(var i = 0; i < option.length; i++){
option[i].className = "";
}
this.className = "show";
var span = ids[index];
if(ids[index]){
span.children[0].innerHTML = this.innerHTML;
return;
}
span = document.createElement("span");
var a = document.createElement("a");
var strong = document.createElement("strong");
a.innerHTML = "x";
a.rel="nofollow noopener noreferrer" href="javascript:;";
a.onclick = function(){
nav.removeChild(span);
ids[index]="";
/*
删除元素清空数组对象位
*/
for(var i = 0; i < option.length; i++){
option[i].className = "";
}
}
strong.innerHTML = this.innerHTML;
span.appendChild(strong);
span.appendChild(a);
ids[index] = span;
/*
元素生成之后,先存入数组的对应位
*/

/*
按照数组的顺序重新添加一遍元素
*/
for(var i = 0; i < ids.length; i++){
if(ids[i]){
nav.appendChild(ids[i]);
}
}
};
}
}
})(); 
</script>
</body>
</html>

到此这篇关于JS实现商品筛选功能就介绍到这了。人生不售来回票,一旦动身,绝不能复返。更多相关JS实现商品筛选功能内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
JS获取鼠标点击时的位置

JS获取URL参数

Ajax跨域问题及解决方案(jsonp,cors)

ajax动态加载json数据并详细解析

ajax从JSP传递对象数组到后台的方法