要在JavaScript中实现树形菜单效果,你可以使用HTML、CSS和JavaScript来构建一个交互式的树形结构。以下是一个简单的实现示例:
<ul id="treeMenu">
<li>
<span class="toggle">+</span> <span class="menu-label">菜单1</span>
<ul class="sub-menu">
<li><span class="menu-label">子菜单1-1</span></li>
<li><span class="menu-label">子菜单1-2</span></li>
</ul>
</li>
<li>
<span class="toggle">+</span> <span class="menu-label">菜单2</span>
<ul class="sub-menu">
<li><span class="menu-label">子菜单2-1</span></li>
<li>
<span class="toggle">+</span> <span class="menu-label">子菜单2-2</span>
<ul class="sub-menu">
<li><span class="menu-label">子菜单2-2-1</span></li>
</ul>
</li>
</ul>
</li>
</ul>
#treeMenu {
list-style-type: none;
padding-left: 20px;
}
.sub-menu {
display: none;
list-style-type: none;
padding-left: 20px;
}
.toggle {
cursor: pointer;
margin-right: 5px;
}
document.addEventListener('DOMContentLoaded', function() {
var toggles = document.querySelectorAll('.toggle');
toggles.forEach(function(toggle) {
toggle.addEventListener('click', function() {
var subMenu = this.nextElementSibling.nextElementSibling;
if (subMenu.style.display === 'none' || subMenu.style.display === '') {
subMenu.style.display = 'block';
this.textContent = '-';
} else {
subMenu.style.display = 'none';
this.textContent = '+';
}
});
});
});
span
元素作为切换按钮。.sub-menu
默认是隐藏的,.toggle
用于显示切换按钮。这个基础示例可以根据具体需求进行扩展,例如添加动画效果、键盘导航支持、动态加载菜单项等。
领取专属 10元无门槛券
手把手带您无忧上云