乐趣区

jQuery制作仿京东商城商品列表商品筛选功能

这次使用 jquery 来实现一个仿京东商城 - 商品列表商品筛选的功能
一、html 代码

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>

<div class='container'>
    <div class='filter'>
        <span> 已选条件:</span>
        <div class='itme'>
            <!-- <a>
                ×  <span> 惠普 </span>
            </a> -->
        </div>
    </div>
    <div class='store'>
        <dl>
            <dt> 品牌:</dt>
            <dd><div><a> 全部 </a></div></dd>
            <dd><div><a> 惠普(hp)</a></div></dd>
            <dd><div><a> 联想(Lenovo)</a></div></dd>
            <dd><div><a> 联想(ThinkPad)</a></div></dd>
            <dd><div><a> 宏基(acer)</a></div></dd>
            <dd><div><a> 华硕 </a></div></dd>
            <dd><div><a> 戴尔 </a></div></dd>
            <dd><div><a> 三星 </a></div></dd>
            <dd><div><a> 索尼 </a></div></dd>
            <dd><div><a> 东芝 </a></div></dd>
            <dd><div><a>Gateway</a></div></dd>
            <dd><div><a> 微星 </a></div></dd>
            <dd><div><a> 海尔 </a></div></dd>
            <dd><div><a> 清华同方 </a></div></dd>
            <dd><div><a> 富士通 </a></div></dd>
            <dd><div><a> 苹果(Apple)</a></div></dd>
            <dd><div><a> 神舟 </a></div></dd>
            <dd><div><a> 方正 </a></div></dd>
            <dd><div><a> 优雅 </a></div></dd>
        </dl>
        <dl>
            <dt> 价格:</dt>
            <dd><div><a> 全部 </a></div></dd>
            <dd><div><a>1000-2999</a></div></dd>
            <dd><div><a>3000-3499</a></div></dd>
            <dd><div><a>3500-3999</a></div></dd>
            <dd><div><a>4000-4499</a></div></dd>
            <dd><div><a>4500-4999</a></div></dd>
            <dd><div><a>5000-5999</a></div></dd>
            <dd><div><a>6000-6999</a></div></dd>
            <dd><div><a>7000-9999</a></div></dd>
            <dd><div><a>10000 以上 </a></div></dd>
        </dl>
        <dl>
            <dt> 尺寸:</dt>
            <dd><div><a> 全部 </a></div></dd>
            <dd><div><a>8.9 英寸及以下 </a></div></dd>
            <dd><div><a>11 英寸 </a></div></dd>
            <dd><div><a>12 英寸 </a></div></dd>
            <dd><div><a>13 英寸 </a></div></dd>
            <dd><div><a>14 英寸 </a></div></dd>
            <dd><div><a>15 英寸 </a></div></dd>
            <dd><div><a>16 英寸 -17 英寸 </a></div></dd>
        </dl>
        <dl>
            <dt> 平台:</dt>
            <dd><div><a> 全部 </a></div></dd>
            <dd><div><a>AMD Brazos APU 平台 </a></div></dd>
            <dd><div><a>Intel Sandy Bridge 平台 </a></div></dd>
            <dd><div><a>Intel 平台 </a></div></dd>
            <dd><div><a>AMD 平台 </a></div></dd>
        </dl>
        <dl>
            <dt> 显卡:</dt>
            <dd><div><a> 全部 </a></div></dd>
            <dd><div><a> 独立显卡 </a></div></dd>
            <dd><div><a> 集成显卡 </a></div></dd>
            <dd><div><a> 核芯显卡 </a></div></dd>            
        </dl>
    </div>
</div>
<script type="text/javascript" src='js/jquery-1.10.2.min.js'></script>
<script type="text/javascript">
var arr = [];
$(function(){$(".store dt+dd a").attr("class",'all-color');
    $(".store a").click(function(){$(this).parents("dl").children('dd').each(function(){$(this).children('div').children('a').removeClass("all-color")
        })
        $(this).attr("class",'all-color');

        $(this).parentsUntil("dl").parent().hide();

        arr.push($(this));
        var val = $(this).html();

        var domItem = `<a 
                            onclick=deletes('${val}')
                            rel='${val}'
                        >
                        ×  <span>${val}</span>
                       </a>`;
        $(".itme").append(domItem);
    })

})
function deletes(val){$(".filter").find("a[rel='"+val+"']").remove();
    for(var i=0;i<arr.length;i++){if(arr[i].html() == val){arr[i].parentsUntil("dl").parent().show();
            arr.splice(i,1);
            i--;
        }else{arr[i].parentsUntil("dl").parent().hide();
        }
    }

}

</script>
</body>
</html>

二、css 代码

*{margin:0;padding:0;}
ul{list-style: none;}
a{text-decoration: none;cursor:pointer;}
.container{
    width:720px;
    margin:20px auto 0 auto;
    border-width: 2px 1px 0 1px;
    border-color: #ff5500 #ccc #ccc #ccc;
    border-style:solid;
}
.filter{
    padding:10px 0 10px 36px;
    background: #f2f2f2;
    border-bottom:1px solid #ccc;
    font-size:14px;
    display: flex;
}
.itme{margin-left:10px;}
.itme a{
    padding:0 10px;
    margin:0 5px;
    border:1px solid #ff5500;
    border-radius: 5px;
    background: #fff;
    color:red;
}
.store dl{
    padding: 0 0 15px 110px;
    border-bottom: 1px solid #ccc;
    display: flex;
    flex-wrap: wrap;
    font-size:12px;
}
.store dl dt{
    width:110px;
    margin:15px 0 0 -110px;
    text-align: right;
    line-height: 16px;
    font-size:14px;
    color:#404040;
    font-weight: bold;
}
.store dl dd{margin:12px 18px 0 0;}
.all-color{
    background: blue;
    color:#fff;
}

每日分享文章 - 附带视频教程:https://www.3mooc.com/front/a…

退出移动版