La meilleure façon de commander ce serait ce
<div id="accordion">
<h3 class="accordion title">Title</h3>
<div class="accordion section">
Section Content
</div>
<h3 class="accordion title">Title 2</h3>
<div class="accordion section">
Section Content
</div>
<h3 class="accordion title">Title 3</h3>
<div class="accordion section">
Section Content
</div>
<h3 class="accordion title">Title 4</h3>
<div class="accordion section">
Section Content
</div>
</div>
Vous voulez éviter z-order
tout à fait, car il est un gâchis de compatibilité. Au lieu de cela, vous auriez les titres d'accordéon sur lesquels vous cliqueriez pour ouvrir l'accordéon. Par défaut, vous souhaitez définir l'ensemble de la section accordéon <div>
sur visibility:hidden;
, puis, lorsque vous cliquez sur l'un d'entre eux, modifiez sa visibilité et masquez tous les autres. Si vous voulez que cela fonctionne avec n'importe quelle quantité de sections d'accordéon, vous devez compter <h3 class="accordion title">
et chaque <div class="accordion section">
, et les associer dans un tableau. Quand un titre est cliqué, montre son div correspondant. Alternativement, vous pourriez donner à chacun une identification distincte, mais la première serait beaucoup plus utile.
En fait, il pourrait être display:none;
au lieu de visibility:hidden;
, je voudrais essayer les deux. En outre, il est important de mentionner que l'animation est généralement traitée en changeant des choses comme la taille de la div, donc si vous cachais une section, vous feriez la hauteur de plus en plus petite jusqu'à 0 et elle est cachée.
Il a dit qu'il ne veut pas utiliser une boîte à outils –
Il tagged la question avec jquery et il montre le balisage – redsquare
je suppose qu'il voulait dire qu'il ne voulait pas utiliser le widget jquery-ui accordian – redsquare