Как мне загрузить аккордеон со всеми закрытыми меню?
Я пытаюсь следовать примеру здесь
http://twitter.github.com/bootstrap/javascript.html#collapse
Я разместил здесь макет
поведение загрузки странно. Он показывает Menu1, затем сворачивает его, затем показывает Menu2 и Menu3. Хотелось бы, чтобы все открылось рухнуло. Я попробовал следующее без успеха
$('#accordion').collapse({hide: true})
13 ответов:
замена
$(".collapse").collapse(); $('#accordion').collapse({hide: true})С:
$('#collapseOne').collapse("hide");следует сделать трюк. Я думаю, что первый включен по умолчанию, и эта одна линия отключает его.
из документа:
Если вы хотите, чтобы он был открыт по умолчанию, добавьте дополнительный класс.
другими словами, оставьте "in", и он будет по умолчанию закрываться. http://jsfiddle.net/JBRh7/
если вы хотите закрыть все свернуты при загрузке страницы:
в классе
collapse inзамените его на классcollapse.id="collapseOne" class="panel-collapse collapse **in**" role="tabpanel" aria-labelledby="headingOne">обновление:
id="collapseOne" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne">
если вы хотите Баян до коллапс изначально вы можете сделать это с уже существующими bootstrap определения, javascript не нужен.
добавить класс
collapsedк якорю или дескриптору, который будет целью щелчка для пользователей toggle они открыты / закрыты. Кроме того, удалитеinкласс из сворачивающегося контейнера.Bootstrap также предоставляет несколько дополнительных спецификаций который может быть передан путем добавления
data-parent=""иdata-toggle=""
data-parentпринимает селектор и указывает, что все складные элементы, которые являются братьями и сестрами родителя данных, будут переключаться в унисон.data-toggleпринимает булевоtrueилиfalseи устанавливает вызов на складном элементе.
Примеры Сценариев:
➤ будет загружаться свернуто
<div class="accordion" id="accordion2"> <div class="accordion-group"> <div class="accordion-heading"> <a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne"> Title </a> </div> <div id="collapseOne" class="accordion-body collapse"> <div class="accordion-inner"> Details➤ будет нагрузка расширена
<div class="accordion" id="accordion2"> <div class="accordion-group"> <div class="accordion-heading"> <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne"> Title </a> </div> <div id="collapseOne" class="accordion-body"> <div class="accordion-inner"> Details➤ загрузить расширенную
<div class="accordion" id="accordion2"> <div class="accordion-group"> <div class="accordion-heading"> <a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne"> Title </a> </div> <div id="collapseOne" class="accordion-body collapse in"> <div class="accordion-inner"> Detailsв 3-м примере аккордеон по умолчанию будет расширен независимо от того, что
collapsedкласс указан, потому чтоinкласс на контейнере получит больше веса.
если вы хотите запустить аккордеон через Javascript, вам нужно только вызвать метод
collapse()вместе с соответствующим идентификатором или селектор класса, который нацеливается на складной элемент.
collapse()также принимает те же параметры, которые могут быть добавлены в разметку.data-parentиdata-toggle
вы пропускаете класс " В " на аккордеон - тело ДИВС для Menu2 и Menu3
каждый из ваших аккордеон-тела дивов должен иметь
class="accordion-body collapse in". Прямо сейчас, несколько из них просто естьclass="accordion-body collapse"
Вы можете передать параметр
toggle: falseдля оператора collapse, чтобы все элементы аккордеона были скрыты при загрузке, например:$('.collapse').collapse({ toggle: false });
это то, что я использую для моего аккордеон. он начинается полностью закрытым. ты хочешь
active: false;//this does the trickполный:
<div id="accordian_div"> <h1>first</h1> <div> put something here </div> <h1>second</h1> <div> put something here </div> <h1>third</h1> <div> put something here </div> </div> <script type="text/javascript"> $(document).ready(function() { $("#accordian_div").accordion({ collapsible: true, active: false, clearStyle: true }); }); </script>не знаком с bottstrap, но это кажется немного чище, чем все классы, с которыми вам приходится иметь дело, и работает плавно.
используйте метод hide, который предоставляет Bootstrap,
$('.collapse').collapse('hide')демо на http://thefanciful.com. моя информация скрыта при загрузке и активируется при нажатии кнопки. :)
С помощью jQuery, это сработало для меня, имея все контейнеры рухнула при загрузке страницы
добавлять
{active: false}а должно бытьcollapsibleвключена конечно$(function () { $("#accordion").accordion({ collapsible: true, active: false }); $(".selector").accordion(); });
<script type="text/javascript"> jQuery(document).ready(function ($) { $('#collapseOne').collapse("hide"); }); </script>
Я знаю, это старая дискуссия, но вот еще два решения, которые сработали:
1) Добавить
класс
aria-expanded="true"внутри этой ссылки:<a data-toggle="collapse" data-parent="#accordion"...></a>2) в случае, если вы используете панели (как показано ниже)
<div id="collapse1" class="panel-collapse out collapse in" style="height: auto;">изменение
collapse inдоcollapse outтакже будет делать трюк
Comments