树形导航菜单是一种常见的用户界面元素,它以树状结构展示信息,允许用户通过展开和折叠节点来浏览不同的层级。在JavaScript中实现树形导航菜单通常涉及到DOM操作、事件处理和数据结构的使用。
以下是一个简单的JavaScript树形导航菜单的实现示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Tree Navigation Menu</title>
<style>
.tree-node {
margin-left: 20px;
}
.tree-toggle {
cursor: pointer;
}
</style>
</head>
<body>
<ul id="tree">
<li>
<span class="tree-toggle">+</span> Node 1
<ul class="tree-node" style="display:none;">
<li>Node 1.1</li>
<li>Node 1.2</li>
</ul>
</li>
<li>
<span class="tree-toggle">+</span> Node 2
<ul class="tree-node" style="display:none;">
<li>Node 2.1</li>
<li>
<span class="tree-toggle">+</span> Node 2.1.1
<ul class="tree-node" style="display:none;">
<li>Node 2.1.1.1</li>
</ul>
</li>
</ul>
</li>
</ul>
<script>
document.querySelectorAll('.tree-toggle').forEach(function(toggle) {
toggle.addEventListener('click', function() {
var node = this.nextElementSibling;
if (node.style.display === 'none' || node.style.display === '') {
node.style.display = 'block';
this.textContent = '-';
} else {
node.style.display = 'none';
this.textContent = '+';
}
});
});
</script>
</body>
</html>
console.log
来检查变量的值和代码的执行流程。通过以上步骤,通常可以定位并解决树形导航菜单实现中的问题。
领取专属 10元无门槛券
手把手带您无忧上云