js树状菜单制作

以下是一个简单的基于JS的树状菜单制作方法:

HTML结构

首先,在HTML中创建一个带有ul和li标记的基本树形结构。

<ul id="myMenu">
  <li>菜单1
    <ul>
      <li>子菜单1</li>
      <li>子菜单2</li>
      <li>子菜单3</li>
    </ul>
  </li>
  <li>菜单2</li>
  <li>菜单3
    <ul>
      <li>子菜单4</li>
      <li>子菜单5</li>
    </ul>
  </li>
</ul>

CSS样式

添加CSS样式以控制树形菜单的外观和布局。

#myMenu {
  list-style: none;
  margin: 0;
  padding: 0;
}

#myMenu li {
  cursor: pointer;
}

#myMenu ul {
  margin-left: 20px;
  display: none;
}

#myMenu li:before {
  content: "+ ";
}

#myMenu li.open:before {
  content: "- ";
}

JS代码

使用JavaScript创建一个事件侦听器,以便用户单击菜单项时显示或隐藏其子菜单。

var menuItems = document.querySelectorAll("#myMenu li");

for (var i = 0; i < menuItems.length; i++) {
  menuItems[i].addEventListener("click", function() {
    var subMenu = this.querySelector("ul");
    if (subMenu) {
      if (subMenu.style.display === "block") {
        subMenu.style.display = "none";
        this.classList.remove("open");
      } else {
        subMenu.style.display = "block";
        this.classList.add("open");
      }
    }
  });
}

这段代码为树形菜单的每个li元素添加了一个单击事件监听器。当用户单击它时,它会查找它的子菜单并将其显示或隐藏。它还为菜单项添加了一个“open”类,以便我们可以使用CSS样式控制其外观。

现在,我们已经创建了一个简单的可展开/折叠的树形菜单!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值