Я использую 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>
Мой 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');
}
});
});