Я использую Bootstrap 3 и пытаюсь настроить следующую структуру аккордеона / сворачивания:
Onload: каждая аккордеонная панель в группе полностью свернута и функционирует, как задокументировано / ожидаемо.
Нажатие кнопки: каждая панель аккордеона раскрывается, и нажатие переключателей не имеет никакого эффекта (включая эффекты привязки URL).
Еще одно нажатие кнопки: все панели возвращаются в состояние загрузки; все свернуто и кликабельно как обычно.
Я дошел до шага 2, но когда я снова нажимаю кнопку на шаге 3, это не дает никакого эффекта. Я также не вижу ошибок консоли в Chrome Dev Tools или при запуске кода через локальный JSHint.
Я бы хотел, чтобы этот цикл повторялся каждый раз при нажатии кнопки.
Я установил свой код здесь http://bootply.com/98140 и здесь http://jsfiddle.net/A9vCx/
Мне бы хотелось знать, что я делаю не так, и я ценю предложения. Спасибо!
Мой HTML:
<button class="collapse-init">Click to disable accordion behavior</button>
<br><br>
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
Collapsible Group Item #1
</a>
</h4>
</div>
<div id="collapseOne" class="panel-collapse collapse">
<div class="panel-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
Collapsible Group Item #2
</a>
</h4>
</div>
<div id="collapseTwo" class="panel-collapse collapse">
<div class="panel-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
Collapsible Group Item #3
</a>
</h4>
</div>
<div id="collapseThree" class="panel-collapse collapse">
<div class="panel-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.
</div>
</div>
</div>
</div>
My JS:
$(function() {
var $active = true;
$('.panel-title > a').click(function(e) {
e.preventDefault();
});
$('.collapse-init').on('click', function() {
if(!$active) {
$active = true;
$('.panel-title > a').attr('data-toggle', 'collapse');
$('.panel-collapse').collapse({'toggle': true, 'parent': '#accordion'});
$(this).html('Click to disable accordion behavior');
} else {
$active = false;
$('.panel-collapse').collapse({'toggle': true, 'parent': '#accordion'});
$('.panel-title > a').removeAttr('data-toggle');
$(this).html('Click to enable accordion behavior');
}
});
});