zoukankan      html  css  js  c++  java
  • 二级菜单的制作(升级版) ,一般数据从后台获取,这边用数组简单的模拟

    二级菜单的制作(升级版) ,一般数据从后台获取,这边用数组简单的模拟

     
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    </head>
    <style>
    *{
    margin: 0;
    padding: 0;
    }
    .nav{
    list-style: none;
    300px;
    margin: 100px auto;
    }
    .nav > li{
    border: 1px solid #000;
    line-height: 35px;
    border-bottom: none;
    text-indent: 2px;
    position: relative;
    }
    .nav li:last-child{
    border-bottom: 1px solid #000;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    }
    .nav li:first-child{
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    }
    .nav >li > span{
    display: inline-block;
    background-image: url(./img/right.png) ;
    32px;
    height:32px ;
    position: absolute;
    right: 10px;
    top: 5px;

    }
    .sub >li{
    list-style: none;

    border-bottom: 1px solid white;
    }
    .sub >li:hover{
    background: red;
    }

    .nav > .current >span{
    transform: rotate(90deg);
    }
    .sub{
    display: none;
    }
    </style>
    <body>
    <ul class="nav">
    <!-- <li class="">一级菜单<span></span>-->
    <!-- <ul class="sub">-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- </ul>-->
    <!-- </li>-->
    <!-- <li>一级菜单<span></span>-->
    <!-- <ul class="sub">-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- </ul>-->
    <!-- </li>-->
    <!-- <li>一级菜单<span></span>-->
    <!-- <ul class="sub">-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- </ul></li>-->
    <!-- <li>一级菜单<span></span>-->
    <!-- <ul class="sub">-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- </ul></li>-->
    <!-- <li>一级菜单<span></span>-->
    <!-- <ul class="sub">-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- </ul></li>-->
    <!-- <li>一级菜单<span></span>-->
    <!-- <ul class="sub">-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- <li>二级菜单</li>-->
    <!-- </ul></li>-->
    </ul>
    </body>
    <script src="./jquery.js"></script>
    <script>
    $(function () {
    //模拟后台返回的数据
    var first_men =["一级菜单1","一级菜单2","一级菜单3","一级菜单4","一级菜单5"];
    var second_men=["二级菜单1","二级菜单2","二级菜单3","二级菜单4"];
    var str =``;
    for(let i=0;i<first_men.length;i++){
    str +=`<li class="">${first_men[i]}<span></span>
    <ul class="sub">`
    for(var k=0;k<second_men.length;k++){
    str +=` <li>${second_men[k]}</li>`
    }
    str+=`</ul>
    </li>`

    }
    $(".nav").html(str)

    //1.监听一级菜单的点击事件
    $(".nav ").delegate("li","click",function () {
    //1.1拿到二级菜单
    var $sub =$(this).children(".sub")
    //1.2让二级菜单展开
    $sub.stop().slideToggle(1000); //再次点击隐藏

    //1.3拿到所以非当前二级菜单
    var $otherSub =$(this).siblings().children(".sub")

    //1.4让所以非当前二级菜单收起
    $otherSub.slideUp(1000)

    //1.5让被点击的一级菜单箭头旋转
    $(this).addClass("current");

    //1.6让非被点击的一级菜单还原
    $(this).siblings().removeClass("current");

    })

    })

    </script>
    </html>

    PS:在生个版本之上改进的更加贴近实际项目,点击一级菜单展开,再点击就折叠

    效果图

  • 相关阅读:
    如何在Eclipse中查看Java类库的源代码以及相应的api
    深入剖析ConcurrentHashMap
    Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析
    Quartz配置
    Spring 自动定时任务配置
    @Resource注解的官方解释
    @Resource 注解的使用
    扫地机器人会否抛弃激光雷达这位原配?
    女教授领军打造最耐用机器人,可从180米高空落下执行救援任务
    一文看懂80年“AI革命”简史
  • 原文地址:https://www.cnblogs.com/onesea/p/12902114.html
Copyright © 2011-2022 走看看