2017-04-07 7 views
0

JavaScriptを使用してネストされたアコーディオンを作成しました。ロード時には、2つの親アコーディオンは閉じられていますが、ネストされたアコーディオンはすべて、矢印が間違った方向を指して開いています。どうやってネストされたアコーディオンも閉じられるようにするのですか?ここ 入れ子になったJavaScriptアコーディオンを使用してすべてを折りたたむ方法

コードです: https://jsfiddle.net/mike4323/spfqf1t5/

これはあなたのhtmlでアコーディオンコード

var acc = document.getElementsByClassName("accordion"); 
var i; 

for (i = 0; i < acc.length; i++) { 
    acc[i].onclick = function() { 
    /* Toggle between adding and removing the "active" class, 
    to highlight the button that controls the panel */ 
    this.classList.toggle("active"); 

    /* Toggle between hiding and showing the active panel */ 
    var panel = this.nextElementSibling; 
    if (panel.style.display === "block") { 
     panel.style.display = "none"; 
    } else { 
     panel.style.display = "block"; 
    } 
    } 
} 

答えて

0

は、ネストされたアコーディオン<button><div>兄弟は、クラスpanel

CSSを持っていませんクラスpaneldisplay: none;

基本的には、ネストされたアコーディオン<button><div>兄弟にクラスpanelを追加するか、デフォルトでdivdisplay: none;と指定します。

+0

ありがとうございました – 3245737

関連する問題