• jQuery制作淘宝商城商品列表多条件查询功能


    一、介绍

    这几天做网站的时候,突然用到这个功能,找了好久也没有找到。看到”希伟素材网“有这么一个JS,效果很不错,也正是我一直以来想要的结果。附图如下:

    二:使用教程

        

    1、HTML代码:

    <ul class="select">
    	<li class="select-list">
    		<dl id="select1">
    			<dt>上装:</dt>
    			<dd class="select-all selected"><a href="#">全部</a></dd>
    			<dd><a href="#">针织衫</a></dd>
    			<dd><a href="#">毛呢外套</a></dd>
    			<dd><a href="#">T恤</a></dd>
    			<dd><a href="#">羽绒服</a></dd>
    			<dd><a href="#">棉衣</a></dd>
    			<dd><a href="#">卫衣</a></dd>
    			<dd><a href="#">风衣</a></dd>
    		</dl>
    	</li>
    	<li class="select-list">
    		<dl id="select2">
    			<dt>裤装:</dt>
    			<dd class="select-all selected"><a href="#">全部</a></dd>
    			<dd><a href="#">牛仔裤</a></dd>
    			<dd><a href="#">小脚/铅笔裤</a></dd>
    			<dd><a href="#">休闲裤</a></dd>
    			<dd><a href="#">打底裤</a></dd>
    			<dd><a href="#">哈伦裤</a></dd>
    		</dl>
    	</li>
    	<li class="select-list">
    		<dl id="select3">
    			<dt>裙装:</dt>
    			<dd class="select-all selected"><a href="#">全部</a></dd>
    			<dd><a href="#">连衣裙</a></dd>
    			<dd><a href="#">半身裙</a></dd>
    			<dd><a href="#">长袖连衣裙</a></dd>
    			<dd><a href="#">中长款连衣裙</a></dd>
    		</dl>
    	</li>
    	<li class="select-result">
    		<dl>
    			<dt>已选条件:</dt>
    			<dd class="select-no">暂时没有选择过滤条件</dd>
    		</dl>
    	</li>
    </ul>

    2、JS代码:

    <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
    <script type="text/javascript">
    	$(document).ready(function(){
    		
    		$("#select1 dd").click(function () {
    			$(this).addClass("selected").siblings().removeClass("selected");
    			if ($(this).hasClass("select-all")) {
    				$("#selectA").remove();
    				} else {
    				var copyThisA = $(this).clone();
    				if ($("#selectA").length > 0) {
    					$("#selectA a").html($(this).text());
    					} else {
    					$(".select-result dl").append(copyThisA.attr("id", "selectA"));
    				}
    			}
    		});
    		
    		$("#select2 dd").click(function () {
    			$(this).addClass("selected").siblings().removeClass("selected");
    			if ($(this).hasClass("select-all")) {
    				$("#selectB").remove();
    				} else {
    				var copyThisB = $(this).clone();
    				if ($("#selectB").length > 0) {
    					$("#selectB a").html($(this).text());
    					} else {
    					$(".select-result dl").append(copyThisB.attr("id", "selectB"));
    				}
    			}
    		});
    		
    		$("#select3 dd").click(function () {
    			$(this).addClass("selected").siblings().removeClass("selected");
    			if ($(this).hasClass("select-all")) {
    				$("#selectC").remove();
    				} else {
    				var copyThisC = $(this).clone();
    				if ($("#selectC").length > 0) {
    					$("#selectC a").html($(this).text());
    					} else {
    					$(".select-result dl").append(copyThisC.attr("id", "selectC"));
    				}
    			}
    		});
    		
    		$("#selectA").live("click", function () {
    			$(this).remove();
    			$("#select1 .select-all").addClass("selected").siblings().removeClass("selected");
    		});
    		
    		$("#selectB").live("click", function () {
    			$(this).remove();
    			$("#select2 .select-all").addClass("selected").siblings().removeClass("selected");
    		});
    		
    		$("#selectC").live("click", function () {
    			$(this).remove();
    			$("#select3 .select-all").addClass("selected").siblings().removeClass("selected");
    		});
    		
    		$(".select dd").live("click", function () {
    			if ($(".select-result dd").length > 1) {
    				$(".select-no").hide();}else{
    				$(".select-no").show();}});});</script>

    3、CSS代码如下:

    /* select */
    .select{padding:5px 10px;border:#ddd 0px solid;border-radius:4px;60%;margin:5% auto;font-size:12px}
    .select li{list-style:none;padding:10px 0 5px 100px}
    .select .select-list{border-bottom:#eee 1px dashed}
    .select dl{zoom:1;position:relative;line-height:24px;}
    .select dl:after{content:" ";display:block;clear:both;height:0;overflow:hidden}
    .select dt{width:100px;margin-bottom:5px;position:absolute;top:0;left:-100px;text-align:right;color:#666;height:24px;line-height:24px}
    .select dd{float:left;display:inline;margin:0 0 5px 5px;}
    .select a{display:inline-block;white-space:nowrap;height:24px;padding:0 10px;text-decoration:none;color:#039;border-radius:2px;}
    .select a:hover{color:#f60;">
    .select .selected a{color:#fff;">
    .select-result dt{font-weight:bold}
    .select-no{color:#999}
    .select .select-result a{padding-right:20px;background:#f60 url("close.gif") right 9px no-repeat}
    .select .select-result a:hover{background-position:right -15px}

    这里需要用到一张图片,因为是一张白色的叉号图 close.gif ,建议下载使用。

  • 相关阅读:
    图解:最短路径之迪杰斯特拉算法
    动态规划只能用来求最值吗?
    动态规划的实际应用:图片压缩算法
    一线互联网公司程序员技术面试的流程以及注意事项
    LeetCode 图解 | 38. 外观数列
    太赞了,VSCode 上也能画流程图了!
    疯狂JAVA讲义学习——基础代码练习——重写(Override)——方法覆盖——重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
    疯狂JAVA讲义学习——基础代码练习——继承extends关键字、this、super、构造器
    JAVA面向对象学习——java面向对象概念———Java 枚举(enum)
    JAVA面向对象学习——java面向对象概念———lambda表达式
  • 原文地址:https://www.cnblogs.com/linjiaxin/p/5961929.html
Copyright © 2020-2023  润新知