CSS+JS超级左侧可折叠树形菜单是一种常见的网页交互元素,用于展示层次结构的数据。它通常由多个嵌套的列表项组成,每个列表项可以展开或折叠以显示或隐藏其子项。这种菜单结构有助于用户更好地组织和浏览复杂的数据。
以下是一个简单的CSS+JS实现的可折叠树形菜单示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>可折叠树形菜单</title>
<style>
ul {
list-style-type: none;
padding-left: 20px;
}
.tree-toggle {
cursor: pointer;
}
.tree-toggle::before {
content: '+';
margin-right: 5px;
}
.tree-toggle.expanded::before {
content: '-';
}
.tree-children {
display: none;
}
</style>
</head>
<body>
<ul class="tree">
<li class="tree-toggle">菜单1
<ul class="tree-children">
<li>子菜单1.1</li>
<li>子菜单1.2</li>
</ul>
</li>
<li class="tree-toggle">菜单2
<ul class="tree-children">
<li>子菜单2.1</li>
<li>子菜单2.2
<ul class="tree-children">
<li>子菜单2.2.1</li>
</ul>
</li>
</ul>
</li>
</ul>
<script>
document.querySelectorAll('.tree-toggle').forEach(item => {
item.addEventListener('click', function() {
this.classList.toggle('expanded');
this.nextElementSibling.style.display = this.classList.contains('expanded') ? 'block' : 'none';
});
});
</script>
</body>
</html>.tree-children的默认显示状态为none。通过以上方法,可以有效解决CSS+JS超级左侧可折叠树形菜单在实现过程中遇到的常见问题。
没有搜到相关的文章