美文网首页
2018-11-05-JQuery-实现折叠菜单

2018-11-05-JQuery-实现折叠菜单

作者: Android砖家 | 来源:发表于2018-11-05 17:12 被阅读0次

知识要点:
  1. 对ul>li灵活运用
  2. children() //获取子元素
  3. siblings() //反选(重点)
  4. slideUp() slideDown() 滑动动画

代码实现:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JQuery-折叠菜单</title>
    <script src="js/jquery-1.6.4/jquery.js"></script>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        .nav {
            list-style: none;
            width: 300px;
            margin: 100px auto;
            overflow: hidden;
        }

        .nav > li {
            border: 1px solid #000;
            line-height: 35px;
            border-bottom: none;
            text-indent: 2em;
            position: relative;
        }

        .nav > li:last-child {
            border-bottom: 1px solid #000;
            border-bottom-left-radius: 6px;
            border-bottom-right-radius: 6px;
        }

        .nav > li:first-child {
            border-top-left-radius: 6px;
            border-top-right-radius: 6px;
        }

        .nav > li img {
            width: 10px;
            position: absolute;
            top: 8px;
            right: 20px;
        }

        .nav > li > ul {
            list-style: none;
            background: #8018ff;
        }

        .nav > li > ul > li {
            border-bottom: 1px solid white;
        }

        .content {
            display: none;
        }

        .content > li:hover {
            background: #7086ff;
        }



        .rightarrow {
            transform: rotate(90deg);
            transition-duration: 0.5s;
        }

    </style>

    <script>
        $(function () {
            //获取一级菜单点击事件
            $(".nav>li").click(function () {
                //获取当前一级菜单对应的二级菜单。显示
                var $oliLists = $(this).children(".one-li>ul");
                $($oliLists).slideDown(1000)
                //这里要注意细节,当选择打开当前子级菜单的时候,其它打开的子级菜单应收起来,使用siblings反选
                var $visiblelis = $(this).siblings().children(".one-li>ul");
                $($visiblelis).slideUp(1000)
                //获取当前箭头,设置旋转90
                $(this).children("img").addClass("rightarrow");
                //反选
                $(this).siblings().children("img").removeClass("rightarrow");
            });
        })

    </script>
</head>
<body>

<ul class="nav">
    <li class="one-li">一级菜单
        <img src="../images/img_jr2.png" alt="">
        <ul class="content">
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
        </ul>
    </li>
    <li class="one-li">二级菜单<img src="../images/img_jr2.png" alt="">
        <ul class="content">
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
        </ul>

    </li>
    <li class="one-li">三级菜单<img src="../images/img_jr2.png" alt="">
        <ul class="content">
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
        </ul>

    </li>
    <li class="one-li">四级菜单<img src="../images/img_jr2.png" alt="">
        <ul class="content">
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
        </ul>

    </li>
    <li class="one-li">五级菜单<img src="../images/img_jr2.png" alt="">
        <ul class="content">
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
        </ul>

    </li>
    <li class="one-li">六级菜单<img src="../images/img_jr2.png" alt="">
        <ul class="content">
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
        </ul>

    </li>
    <li class="one-li">七级菜单<img src="../images/img_jr2.png" alt="">
        <ul class="content">
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
        </ul>

    </li>
    <li class="one-li">八级菜单<img src="../images/img_jr2.png" alt="">
        <ul class="content">
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
            <li>我是内容</li>
        </ul>
    </li>
</ul>

</body>
</html>

效果图:


yhx.gif

相关文章

  • 2018-11-05-JQuery-实现折叠菜单

    知识要点: 对ul>li灵活运用children() //获取子元素siblings() //反选(重点...

  • element 导航菜单折叠动画,文字不隐藏

    问题 使用element导航菜单做侧边栏菜单,用递归组件实现路由菜单渲染,遇到两个问题 折叠后文字不隐藏 折叠动画...

  • 小程序如何实现折叠菜单

    通常,菜单都有一级菜单二级、三级菜单之分,我们知道前端js的dom操作可以很好的控制二级菜单的显示与隐藏,当然今天...

  • 小程序简单实现折叠菜单

    最近在学习小程序,入手项目中有个使用折叠菜单功能,google下了思路。 关于文章https://blog.csd...

  • 第十八谈:折叠菜单

    本节课我们来开始学习 Bootstrap 的提供的折叠菜单组件。 一.折叠菜单 使用.collapse 构建一个最...

  • Bootstrap折叠菜单

    可使用 标签或 进行控制 需要折叠的内容放在.collapse里,为其创建.card类,内容放里面 使用hre...

  • BootStrap

    CDN引用 一、标签页&下拉菜单 二、顶部导航栏 三、表格、表单、按钮 其它 折叠 .collapse 默认折叠....

  • Vue<自定义折叠菜单栏>

    效果图: 此篇文章主要方便小白们理解折叠菜单栏的原理,实现的方法也是有多种的,此处涉及一种方式,具体样式的实现可自...

  • iOS - 图片实现多层折叠效果

    iOS - 图片实现多层折叠效果 iOS - 图片实现多层折叠效果

  • Axure系列:动态面板实现折叠菜单

    动态面板的状态切换,实现折叠菜单。 1、 拖入三个动态面板,命名为P1、P2、P3,分别添加两个状态S1和S2。每...

网友评论

      本文标题:2018-11-05-JQuery-实现折叠菜单

      本文链接:https://www.haomeiwen.com/subject/bbgsxqtx.html