gpt4 book ai didi

javascript - 如何在打开另一个 Accordion 文本之前关闭 Accordion 元素

转载 作者:行者123 更新时间:2023-11-28 01:07:04 24 4
gpt4 key购买 nike

实际上我已经使用 Bootstrap 类实现了 Accordion 它在我们单击“更多信息”时工作正常。但是如果我单击“下一个 Accordion 文本”,第一个应该自动关闭。任何人都可以帮助我吗。提前致谢。

HTML:

<div class="accordion" >More Info</div>
<div class="panel">
<p>
Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum
</p>
</div>
<div class="accordion" >More Info</div>
<div class="panel">
<p>
Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum
</p>
</div>

CSS:

div.panel {
padding: 0 18px;
display: none;
background-color: white;
border: 1px solid #d4d4d4;
}

div.panel.show {
display: block;
color: #2b3034;
font-size: 12px;
font-family: Roboto,sans-serif;
margin-left: -18px;
border-radius: 0px;
width: 778px;
margin-top: 16px;
background: #ffffff;
margin-bottom: -17px;
}

Javascript:

var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].onclick = function(){
this.classList.toggle("active");
this.nextElementSibling.classList.toggle("show");
}
}

JSFiddle

最佳答案

因为您已经标记了 Jquery 标签。只需添加 $(".panel").removeClass("show");

for (i = 0; i < acc.length; i++) {
acc[i].onclick = function(){

$(".panel").removeClass("show");
this.classList.toggle("active");
this.nextElementSibling.classList.toggle("show");
}
}

Working Demo

关于javascript - 如何在打开另一个 Accordion 文本之前关闭 Accordion 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39285007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com