jQuery制作树形图(多级菜单)

完整代码

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>树形动画</title>
  <!-- 这里的jquery.js你需要去外部引用 -->
  <script src="./jquery.js"></script>
  <style type="text/css">
    ul li {
      list-style: none;
    }

    li ul {
      display: none;
    }

    .plus {
      /* 加号的图片 */
      list-style-image: url(img/plus.gif);
    }

    .minus {
      /* 减号的图片 */
      list-style-image: url(img/minus.gif);
    }
  </style>
</head>

<body>
  <ul id="zong">
    <li class="expand">主题市场
      <ul>
        <li class="expand">运动派
          <ul>
            <li>三级菜单a</li>
            <li>三级菜单b</li>
            <li>三级菜单c</li>
            <li>三级菜单d</li>
          </ul>
        </li>

        <li class="expand">有车族
          <ul>
            <li class="expand">三级
              <ul>
                <li>四级菜单a</li>
                <li>四级菜单b</li>
                <li>四级菜单c</li>
              </ul>
            </li>

            <li>三级</li>
            <li>三级</li>
            <li>三级</li>
          </ul>
        </li>

        <li>生活家</li>
      </ul>
    </li>

    <li class="expand">特色购物
      <ul>
        <li>淘宝二手</li>
        <li>拍卖会</li>
        <li>爱逛街</li>
        <li>全球购</li>
        <li>淘女郎</li>
      </ul>
    </li>


    <li class="expand">优惠促销
      <ul>
        <li>天天特价</li>
        <li>免费试用</li>
        <li>清仓</li>
        <li>1元起拍</li>
      </ul>
    </li>

    <li class="expand">工具</li>
  </ul>
  <script>
      //要给有ul的li添加一个类名plus,单击时展开收缩切换同时类名切换
    $(function () {
      $(document).ready(function () {
        $("li").has('ul').addClass("plus").click(function (e) {
          e.stopPropagation();
          if (e.target.children.length) {
            $(this).children().slideToggle();
            $(this).toggleClass("minus");
          }
        })
        // 点击其他地方收起当前菜单
        $(document).click(function (e) {
          var target = $(e.target);
          if (!target.closest("#zong li").length) {
            $("#zong ul").slideUp();
          }
        });
      });
    })
  </script>
</body>

</html>

效果如下:
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值