2016-12-23 5 views
0

У меня есть аккордеон, который работает очень хорошо, он хорошо выглядит на сайте и работает так, как должен. Тем не менее, я пытаюсь добавить к нему еще некоторые функции 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> 

JS код

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

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

ответ

0

Я думаю Jquery UI's accordion имеет первую вкладку открытой по умолчанию и никогда не позволяет иметь все вкладки закрыты сразу.

Проверьте файл .js, если он был переопределен active: false. Если активен: false есть либо удалить его, либо изменить его на активное: 0; (0 - первая вкладка (индексирование с нулевой отметкой))

Active: false потребует установки collapsible: true, что позволяет закрыть вкладку, щелкнув ее, чтобы вы также могли видеть ее там.