树形菜单(Tree Menu)是一种常见的用户界面元素,它以树状结构展示数据,允许用户展开和折叠节点以显示或隐藏子节点。树形菜单通常用于表示具有层次结构的数据,如文件系统、组织结构、分类目录等。
以下是一个简单的静态树形菜单的HTML和JavaScript实现:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tree Menu Example</title>
<style>
.tree-node {
margin-left: 20px;
}
.tree-toggle {
cursor: pointer;
}
</style>
</head>
<body>
<div id="tree-menu">
<div class="tree-node">
<span class="tree-toggle">+</span> Root Node
<div class="tree-children" style="display: none;">
<div class="tree-node">
<span class="tree-toggle">+</span> Child Node 1
<div class="tree-children" style="display: none;">
<div class="tree-node">Grandchild Node 1</div>
<div class="tree-node">Grandchild Node 2</div>
</div>
</div>
<div class="tree-node">Child Node 2</div>
</div>
</div>
</div>
<script>
document.querySelectorAll('.tree-toggle').forEach(function(toggle) {
toggle.addEventListener('click', function() {
var children = this.nextElementSibling;
if (children.style.display === 'none') {
children.style.display = 'block';
this.textContent = '-';
} else {
children.style.display = 'none';
this.textContent = '+';
}
});
});
</script>
</body>
</html>
react-virtualized
或vue-virtual-scroller
)来只渲染可见区域内的节点。通过以上内容,你应该对树形菜单的基本概念、优势、类型、应用场景以及常见问题有更全面的了解。
领取专属 10元无门槛券
手把手带您无忧上云