以下是一个简单的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</title>
<style>
ul {
list-style-type: none;
padding-left: 20px;
}
.hidden {
display: none;
}
</style>
</head>
<body>
<ul id="treeMenu">
<li>
<span class="toggle">+</span> Node 1
<ul class="hidden">
<li>Subnode 1.1</li>
<li>Subnode 1.2</li>
</ul>
</li>
<li>
<span class="toggle">+</span> Node 2
<ul class="hidden">
<li>Subnode 2.1</li>
<li>Subnode 2.2</li>
</ul>
</li>
</ul>
<script src="treeMenu.js"></script>
</body>
</html>
document.addEventListener('DOMContentLoaded', function() {
const toggles = document.querySelectorAll('.toggle');
toggles.forEach(toggle => {
toggle.addEventListener('click', function() {
const ul = this.nextElementSibling;
if (ul.classList.contains('hidden')) {
ul.classList.remove('hidden');
this.textContent = '-';
} else {
ul.classList.add('hidden');
this.textContent = '+';
}
});
});
});
addEventListener
方法为元素添加点击事件。classList
来添加或移除CSS类,从而控制元素的显示和隐藏。DOMContentLoaded
事件。通过以上代码和解释,你应该能够理解并实现一个基本的树形菜单。如果有更具体的问题或需求,可以进一步调整代码。
领取专属 10元无门槛券
手把手带您无忧上云