J'essaie de suivre l'exemple ici
Http://twitter.github.com/bootstrap/javascript.html#collapse
J'ai mis une maquette ici
Http://jsfiddle.net/gqe7g/
Le comportement de chargement est étrange. Il montre Menu1 puis l'efface puis affiche Menu2 et Menu3. J'aimerais que tout s'ouvre effondré. J'ai essayé sans succès
$('#accordion').collapse({hide: true})
Remplacement
$(".collapse").collapse(); $('#accordion').collapse({hide: true})
avec:
$('#collapseOne').collapse("hide");
Devrait faire l'affaire. Je pense que le premier est activé par défaut et cette seule ligne l'éteint.
Du document:
Si vous souhaitez ouvrir par défaut, ajoutez la classe supplémentaire dans.
En d'autres termes, laissez l'entrée "in" et la valeur par défaut sera close. http://jsfiddle.net/JBRh7/
Si vous souhaitez fermer tout effondré sur le chargement de la page:
Dans l' collapse in
classe, remplacez-le par l' collapse
classe.
id="collapseOne" class="panel-collapse collapse **in**" role="tabpanel" aria-labelledby="headingOne">
Mise à jour de:
id="collapseOne" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne">
Si vous souhaitez que l' accordéon s'effondre initialement, vous pouvez le faire avec des définitions de bootstrap préexistantes, javascript n'est pas nécessaire.
L'ajout de la classe collapsed
sur l'ancre ou la poignée qui sera la cible de clic pour que les utilisateurs puissent les ouvrir ou les fermer. En outre, enlever le in
classe du conteneur qui s'effondre.
Bootstrap fournit également quelques spécifications facultatives qui peuvent être transmises en ajoutant data-parent=""
et data-toggle=""
data-parent
accepte un sélecteur et spécifie que tous les éléments pliables qui sont frères et sœurs du parent de données seront basculés à l'unisson. data-toggle
accepte un booléen true
ou false
et définit l'invocation sur l'élément repliable. ➤ Le chargement s'effondra
<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
➤ Le chargement sera étendu
<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
➤ Le chargement sera étendu
<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
Dans le 3ème exemple, l'accordéon sera par défaut d'être étendu indépendamment du fait que la classe collapsed
est spécifiée car la classe sur le conteneur recevra plus de poids.
Si vous souhaitez déclencher l'accordéon via Javascript, il suffit d'appeler la méthode collapse()
avec le identifiant approprié ou le sélecteur de classe qui cible l'élément repliable.
collapse()
accepte également les mêmes options que celles qui peuvent être ajoutées au balisage. data-parent
et data-toggle
Vous manquez la classe 'in' sur les divisions de corps d'accordéon pour Menu2 et Menu3
Chacune de vos divisions d'accordéon-corps doit avoir une class="accordion-body collapse in"
. À l'heure actuelle, quelques-uns d'entre eux ont simplement une class="accordion-body collapse"
Changement
class="accordion-body collapse in"
À
class="accordion-body collapse"
Sur votre collapseOne DIV
Vous pouvez passer l'option toggle: false
à l'énoncé d'effondrement pour que tous les éléments de l'accordéon soient cachés lors de la charge, de la manière suivante:
$('.collapse').collapse({ toggle: false });
C'est ce que j'utilise pour mon accordian. Il commence entièrement fermé. tu veux
active: false;//this does the trick
plein:
<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>
Pas familier avec le trajectoire des bottes, mais cela semble un peu plus propre que toutes les classes que vous avez à traiter et fonctionne en douceur.
Utilisez la méthode hide que Bootstrap fournit,
$('.collapse').collapse('hide')
Démo sur http://thefanciful.com . Mes informations sont cachées lors de la charge et s'activent lorsque le bouton est poussé. 🙂
Supprimez simplement la classe .in
de .panel-collapse
dans "collapseOne". (Bootstrap v3.3.7)
À l'aide de jQuery , cela a fonctionné pour moi ayant TOUTES les conteneurs effondrés à la charge de la page
Ajout de {active: false}
et doit être collapsible
bien sûr
$(function () { $("#accordion").accordion({ collapsible: true, active: false }); $(".selector").accordion(); });
<script type="text/javascript"> jQuery(document).ready(function ($) { $('#collapseOne').collapse("hide"); }); </script>
Je sais que c'est une discussion ancienne, mais voici deux autres solutions qui ont fonctionné:
1) Ajouter
Une classe d' aria-expanded="true"
dans ce lien:
<a data-toggle="collapse" data-parent="#accordion"...></a>
2) Si vous utilisez des panneaux (comme ci-dessous)
<div id="collapse1" class="panel-collapse out collapse in" style="height: auto;">
Changer l' collapse in
pour collapse out
fera aussi l'affaire