推荐答案
-- -------------------- ---- ------- --------- ----- ----- ---------- ------ ----- ---------------- ----- --------------- ---------------------------- ------------------- ---------------- --------------- ------- ---------- - ------ ----- ---------- ------ ------- - ----- - --------------- - ------- --- ----- ----- -------------- ----- - ----------------- - -------- ----- ----------------- -------- ------- -------- -------- ----- ---------------- -------------- ------------ ------- - ------------------ - -------- ----- -------- ----- - ---------------------- ------------------ - -------- ------ - -------- ------- ------ ---- ------------------ ---- ----------------------- ---- ------------------------- ------------- -------- -------------- ------ ---- -------------------------- ---------- --- ------- ------ ------ ------ ---- ----------------------- ---- ------------------------- ------------- -------- -------------- ------ ---- -------------------------- ---------- --- ------- ------ ------ ------ ---- ----------------------- ---- ------------------------- ------------- -------- -------------- ------ ---- -------------------------- ---------- --- ------- ------ ------ ------ ------ -------- ------------------------------------------------------------- -- - -------------------------------- -- -- - ----- ------------- - --------------------- ----------------------------------------- --- --- --------- ------- -------
本题详细解读
HTML 结构
<div class="accordion">
: 这是手风琴的容器,包含了所有的手风琴项。<div class="accordion-item">
: 每个手风琴项,包含一个标题和内容。<div class="accordion-header">
: 手风琴项的标题部分,用户可以点击它来展开或折叠内容。<div class="accordion-content">
: 手风琴项的内容部分,默认是隐藏的,当用户点击标题时会显示。
CSS 样式
.accordion
: 设置手风琴的宽度和居中显示。.accordion-item
: 设置每个手风琴项的边框和外边距。.accordion-header
: 设置标题的样式,包括背景颜色、内边距和鼠标指针样式。.accordion-content
: 设置内容的样式,默认情况下内容是不可见的。.accordion-item.active .accordion-content
: 当手风琴项处于激活状态时,内容会显示出来。
JavaScript 逻辑
document.querySelectorAll('.accordion-header')
: 获取所有手风琴项的标题。header.addEventListener('click', () => {...})
: 为每个标题添加点击事件监听器。accordionItem.classList.toggle('active')
: 当用户点击标题时,切换手风琴项的激活状态,从而显示或隐藏内容。
通过这种方式,用户可以点击手风琴的标题来展开或折叠内容,实现了一个简单的手风琴效果。