要制作一个JS手风琴菜单,你需要掌握HTML、CSS和JavaScript的基础知识。以下是一个简单的手风琴菜单的制作过程:
<div class="accordion">
<div class="accordion-item">
<button class="accordion-button">菜单1</button>
<div class="accordion-content">
<p>菜单1的内容...</p>
</div>
</div>
<div class="accordion-item">
<button class="accordion-button">菜单2</button>
<div class="accordion-content">
<p>菜单2的内容...</p>
</div>
</div>
<!-- 可以继续添加更多菜单项 -->
</div>
.accordion-button {
width: 100%;
text-align: left;
padding: 10px;
cursor: pointer;
border: none;
outline: none;
transition: background-color 0.3s ease;
}
.accordion-button:hover {
background-color: #ddd;
}
.accordion-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease-out;
background-color: #f1f1f1;
padding: 0 10px;
}
.accordion-content.active {
max-height: 500px; /* 或者根据内容调整 */
transition: max-height 0.5s ease-in;
padding: 10px 0;
}
document.querySelectorAll('.accordion-button').forEach(button => {
button.addEventListener('click', () => {
const content = button.nextElementSibling;
content.classList.toggle('active');
// 折叠其他内容
document.querySelectorAll('.accordion-content').forEach(item => {
if (item !== content) {
item.classList.remove('active');
}
});
});
});
active
类,从而控制内容的显示和隐藏,并确保一次只有一个内容区域是展开的。手风琴菜单适用于需要展示大量信息但又不希望一次性全部展示给用户的场景,比如FAQ页面、设置页面等。
通过以上步骤,你可以创建一个基本的手风琴菜单,并根据需要进行样式和功能的定制。
领取专属 10元无门槛券
手把手带您无忧上云