• JS-下拉筛选的实现


    下面为下拉筛选的效果图:

    代码如下:

    index.html

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title></title>
            <link rel="stylesheet" href="css/menudown.css" />
            <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script>
            <script type="text/javascript" src="js/menudown.js" ></script>
        </head>
        <body>
            <dl class="topmenu">
                <dt>
                    <div class="selectlist">
                        <div class="select_textdiv">
                            <input type="hidden" value=""/>
                            <p class="s_text">附近</p><span class="down"><img src="img/down.png"></span>
                        </div>
                        <div class="select_textul">
                            <ul class="select_first_ul">
                                <li class="focus">
                                    <p>附近</p>
                                    <ul class="select_second_ul" style="display: block;">
                                        <li>附近(智能范围)</li>
                                        <li>500</li>
                                        <li>1000</li>
                                        <li>1500</li>
                                        <li>2000</li>
                                    </ul>
                                </li>
                                <li>
                                    <p>热门商城</p>
                                    <ul class="select_second_ul">
                                        <li>全部商城</li>
                                        <li>市中心区</li>
                                        <li>华侨城</li>
                                        <li>海岸城</li>
                                        <li>蛇口</li>
                                    </ul>
                                </li>
                                <li>
                                    <p>福田区</p>
                                    <ul class="select_second_ul">
                                        <li>全部南山区</li>
                                        <li>华侨城</li>
                                        <li>蛇口</li>
                                        <li>南头</li>
                                        <li>南头中心区</li>
                                        <li>南油</li>
                                    </ul>
                                </li>
                                <li>
                                    <p>光明新区</p>
                                    <ul class="select_second_ul">
                                        <li>全部南山区</li>
                                        <li>华侨城</li>
                                        <li>蛇口</li>
                                        <li>南头</li>
                                        <li>南头中心区</li>
                                        <li>南油</li>
                                    </ul>
                                </li>
                                <li>
                                    <p>龙岗区</p>
                                    <ul class="select_second_ul">
                                        <li>全部南山区</li>
                                        <li>华侨城</li>
                                        <li>蛇口</li>
                                        <li>南头</li>
                                        <li>南头中心区</li>
                                        <li>南油</li>
                                    </ul>
                                </li>
                                <li>
                                    <p>福田区</p>
                                    <ul class="select_second_ul">
                                        <li>全部南山区</li>
                                        <li>华侨城</li>
                                        <li>蛇口</li>
                                        <li>南头</li>
                                        <li>南头中心区</li>
                                        <li>南油</li>
                                    </ul>
                                </li>
                                <li>
                                    <p>宝安区</p>
                                    <ul class="select_second_ul">
                                        <li>全部南山区</li>
                                        <li>华侨城</li>
                                        <li>蛇口</li>
                                        <li>南头</li>
                                        <li>南头中心区</li>
                                        <li>南油</li>
                                    </ul>
                                </li><li>
                                    <p>罗湖区</p>
                                    <ul class="select_second_ul">
                                        <li>全部南山区</li>
                                        <li>华侨城</li>
                                        <li>蛇口</li>
                                        <li>南头</li>
                                        <li>南头中心区</li>
                                        <li>南油</li>
                                    </ul>
                                </li>
                            </ul>
                        </div>
                    </div>    
                </dt>
                <dt>
                    <div class="selectlist">
                        <div class="select_textdiv">
                            <input type="hidden" value=""/>
                            <p class="s_text">智能排序</p><span class="down"><img src="img/down.png"></span>
                        </div>
                        <div class="select_textul">
                            <ul class="select_first_ul">
                                <li class="focus">
                                    <p>智能排序</p>
                                    <ul class="select_second_ul" style="display: block;">
                                        <li>离我最近</li>
                                        <li>人气最高</li>
                                        <li>评价最好</li>
                                        <li>口味最佳</li>
                                        <li>环境最佳</li>
                                    </ul>
                                </li>
                                <li>
                                    <p>热门商城</p>
                                    <ul class="select_second_ul">
                                        <li>全部商城</li>
                                        <li>市中心区</li>
                                        <li>华侨城</li>
                                        <li>海岸城</li>
                                        <li>蛇口</li>
                                    </ul>
                                </li>
                            </ul>
                        </div>
                    </div>    
                </dt>
                <dt>
                    <div class="selectlist">
                        <div class="select_textdiv">
                            <input type="hidden" value=""/>
                            <p class="s_text">美食</p><span class="down"><img src="img/down.png"></span>
                        </div>
                        <div class="select_textul">
                            <ul class="select_first_ul">
                                <li>
                                    <p>西餐</p>
                                    
                                </li>
                                <li>
                                    <p>中餐</p>
                                    
                                </li>
                            </ul>
                        </div>
                    </div>    
                </dt>
            </dl>
        </body>
    </html>

    menu.css

    @CHARSET "UTF-8";
    /*默认样式*/
    html {
        font-size: 4vw;
        height:100vh;
    }
    * {
        margin: 0;
        padding: 0;
        outline: none;
    }
    *:not(input, textarea) {
        -webkit-
        -callout: inherit;
        -webkit-user-select: auto;
    }
    body {
        font-family: "Arial", "微软雅黑", "宋体";
        font-size: 1rem;
        color: #333;
        -webkit-
        -callout: inherit;
        -webkit-user-select: auto;
        margin: auto;
        height:100vh;
    }
    a {
        color: #54d09e;
        text-decoration: none;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    }
    a:hover {
        text-decoration: none;
    }
    button, input, select, textarea {
        font-size: 100%;
        margin: 0;
        padding: 0;
        outline: none;
    }
    textarea, input {
        resize: none;
        outline: none;
    }
    textarea {
        resize: none;
        -webkit-appearance: none;
    }
    ul, ol, li {
        list-style: none;
    }
    em {
        font-style: normal;
    }
    input[type=button] {
        -webkit-appearance: none;
        outline: none
    }
    
    
    h1,h2,h3,h4,h5,h6{ font-weight:normal;}
    b{ font-weight:normal;}
    .clear{ clear:both;font-size: 0;line-height: 0;height: 0;}
    
    /**下拉**/
    .topmenu{
        width:100%;
    }
    .topmenu dt{
        width:33.3%;
        float:left;
    }
    .selectlist{
        width:100%;
        height:auto;
        box-sizing: border-box;
    }
    .select_textdiv{
        height:3rem;
        width:100%;
        line-height: 3rem;
        text-align: center;
        border-bottom: 2px solid #b3b3b3;
        position:relative;
        border-left:2px solid -webkit-linear-gradient(red, blue);
    }
    .select_textul{
        width:100%;
        line-height: 3rem;
        box-sizing: border-box;
        display: none;
        width: 980px;
        max-height: 20rem;
        overflow-y: scroll;
    }
    .select_first_ul{
        width: 100%;
        /*background: #eaeaea;*/
        position: absolute;
        box-sizing: border-box;
        left: 0;
    }
    .select_first_ul>li{
        padding: 0 0.5rem;
        box-sizing: border-box;
    }
    .select_first_ul>li>p{
        width: 50%;
        padding: 0 1rem;
        box-sizing: border-box;
        border-bottom:1px #b1b1b1 solid;
    }
    .focus>p{
        border-bottom:1px #FF9800 solid !important;
        color:#FF9800;
    }
    .select_second_ul{
        width: 50%;
        position: absolute;
        right: 0px;
        top: 0;
        background: #fff;
        display: none;
        box-sizing: border-box;
        padding-left: 0.5rem;
        /*z-index: 1;*/
    }
    
    .down{
        position: absolute;
        top: 0;
        right: 0.5rem;
        display: inline-block;
        width:1rem;
        height:100%;
    }
    .down img{
        width:1rem;
        margin-top: 1rem;
    }
    .divfocus::after{
        position: absolute;
        bottom:0;
        left:46%;
        border-bottom:0.5rem solid #FF9800;
        border-left:0.5rem solid transparent;
        border-right:0.5rem solid transparent;
        content: "";
    }
    .focusli{
        background: #ffc107;
        color: #FFFFFF;
    }
    .select_second_ul>li{
        padding: 0 0.5rem;
        box-sizing: border-box;
        border-bottom: 1px solid #eaeaea;
    }

    menudown.js

    $(function(){
        var v_width= $(document.body).width();
        $(".select_textul").width(v_width);
        
        $(".select_textdiv").click(function(){
            $(this).parent().parent().siblings().find(".select_textul").hide();
            $(".select_textdiv").removeClass("divfocus");
            $(this).addClass("divfocus");
            $(this).siblings(".select_textul").fadeToggle(500);
            var lilength = $(this).siblings(".select_textul").find("li.focus").has(".select_second_ul").length;
            if(lilength > 0){
                $(this).siblings(".select_textul").find("li.focus>.select_second_ul").show();
            }else{
                $(".select_first_ul>li>p").css("width","100%");
            }
        })
        $(".select_first_ul>li>p").click(function(){
            $(".select_second_ul").hide();
            $(this).parent("li").addClass("focus").siblings("li").removeClass("focus");
            var ynul = $(this).parent("li").has(".select_second_ul").length;
            if(ynul == 0){
                
                var choose = $(this).text();
                $(this).parents(".select_textul").siblings(".select_textdiv").find(".s_text").text(choose);
                $(this).parents(".select_textul").siblings("input").val(choose);
                $(this).parents(".select_textul").fadeOut(300);
            }else{
                $(".select_second_ul").hide();
                $(this).siblings(".select_second_ul").show();
                event.stopPropagation();
                chooseclick();
            }
            
        });
        
        chooseclick();
        function chooseclick(){
            $(".select_second_ul>li").click(function(){
                var choose = $(this).text();
                $(this).addClass("focusli").siblings("li").removeClass("focusli");
                $(this).parents(".select_textul").siblings(".select_textdiv").find(".s_text").text(choose);
                $(this).parents(".select_textul").siblings("input").val(choose);
                $(this).parents(".select_textul").fadeOut(300);
                
                event.stopPropagation();
            });
        }
            
    })

    img/down.png

  • 相关阅读:
    修改nuget包默认存放路径,避免增加C盘的负担
    .Net Core 3.0 (一):安装Vs2019
    .NET Core 学习资料
    SQLSERVER查询整个数据库中某个特定值所在的表和字段的方法
    MySql 时间查询
    如何设置IIS程序池的回收时间,才能最大程度的减少对用户的影响?
    SqlServer 获取工作日(周六、周日休息,周六日不休息,周六不休息)
    SQL Server 删除数据库中表数据
    SQL Server 删除数据库所有表和所有存储过程
    摘要
  • 原文地址:https://www.cnblogs.com/luoyihao/p/13957454.html
Copyright © 2020-2023  润新知