在手风琴列表中,当子元素上发生单击时,可以通过以下步骤来打开被单击的元素并关闭其他元素:
以下是一个示例代码,展示了如何实现上述功能:
HTML:
<div class="accordion">
<div class="accordion-item">
<div class="accordion-header">Item 1</div>
<div class="accordion-content">Content 1</div>
</div>
<div class="accordion-item">
<div class="accordion-header">Item 2</div>
<div class="accordion-content">Content 2</div>
</div>
<div class="accordion-item">
<div class="accordion-header">Item 3</div>
<div class="accordion-content">Content 3</div>
</div>
</div>
CSS:
.accordion-item {
border: 1px solid #ccc;
margin-bottom: 10px;
}
.accordion-header {
background-color: #f0f0f0;
padding: 10px;
cursor: pointer;
}
.accordion-content {
display: none;
padding: 10px;
}
JavaScript:
var accordionItems = document.querySelectorAll('.accordion-item');
accordionItems.forEach(function(item) {
var header = item.querySelector('.accordion-header');
var content = item.querySelector('.accordion-content');
header.addEventListener('click', function() {
// 切换打开/关闭状态
item.classList.toggle('open');
// 关闭其他元素
accordionItems.forEach(function(otherItem) {
if (otherItem !== item) {
otherItem.classList.remove('open');
}
});
});
});
在上述示例中,我们使用了CSS来定义手风琴列表的样式,每个子元素都有一个标题(.accordion-header
)和内容(.accordion-content
)。JavaScript部分则为每个子元素的标题添加了一个单击事件监听器,当标题被单击时,会切换子元素的打开/关闭状态,并关闭其他子元素。
请注意,这只是一个简单的示例,实际应用中可能需要根据具体需求进行修改和扩展。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云