手动编写代码实现折叠菜单效果
在HTML页面中,使用无序列表来创建菜单,并在列表项上嵌套DIV标签来创建折叠面板。使用CSS设置样式,使折叠面板默认为隐藏状态。然后,在JavaScript中为每个列表项绑定点击事件,切换对应的折叠面板的显示/隐藏状态。
示例代码如下:
HTML:
CSS:
.accordion-menu {
list-style: none;
margin: 0;
padding: 0;
}
.accordion-header {
background-color: #eee;
padding: 10px;
cursor: pointer;
}
.accordion-panel {
display: none;
padding: 10px;
border: 1px solid #ccc;
}
JavaScript:
var accordions = document.querySelectorAll('.accordion-menu li');
for (var i = 0; i < accordions.length; i++) {
accordions[i].addEventListener('click', function() {
this.classList.toggle('active');
var panel = this.querySelector('.accordion-panel');
if (panel.style.display === 'block') {
panel.style.display = 'none';
} else {
panel.style.display = 'block';
}
});
}