我有一款手感非常好的手風琴,它在網站上看起來不錯,而且應該可以正常工作。不過,我正在嘗試爲其添加更多JavaScript功能,以使其看起來更專業。一次只能打開一個手風琴選項卡
目前,手風琴允許您一次打開多個面板,即如果我打開一個選項卡,然後打開另一個選項卡,兩個選項卡將同時打開。關閉這些面板的唯一方法是重新點擊標題。
我想要的是一些JavaScript代碼可以防止一次打開多個選項卡,所以如果我點擊一個新的面板,它應該先關閉現有的打開面板。這裏是我的手風琴HTML代碼:
<div class="accordion"><b>Heading 1</b></div>
<div class="panel">
<p class="text-light">Text 1</p>
</div>
<div class="accordion"><b>Heading 2</b></div>
<div class="panel">
<p class="text-light">Text 2</p>
</div>
這裏是一個單獨的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");
}
}
不知道,如果你需要我所有的JavaScript代碼的CSS,但繼承人的CSS顯示面板
div.panel.show {
display: block !important;
}
希望有人可以幫助!提前致謝!
可能的重複[你如何使twitter引導手風琴保持一個組打開](http://stackoverflow.com/questions/15725717/how-do-you-make-twitter-bootstrap-accordion-keep-one-小組打開) –
只需通過所有這些設置,將它們設置爲「不活動」並「隱藏」它們。然後你「激活」並「顯示」選定的一個。 – melancia
@NalinAggarwal OP在哪裏說他在使用Bootstrap? –