⊗jsPrStAcc 14 of 62 menu

Accordion in JavaScript

Ora implementiamo un accordion. È simile a delle schede ribaltate su un lato. Inoltre, nell'accordion è possibile chiudere la scheda corrente, se si clicca sul link attivo.

Ecco un esempio:

Studiate anche il markup su cui risolveremo il problema:

<div id="parent"> <div class="tab active"> <div class="link"> <a href="#" >scheda 1</a> </div> <div class="text"> testo scheda 1 </div> </div> <div class="tab"> <div class="link"> <a href="#" >scheda 2</a> </div> <div class="text"> testo scheda 2 </div> </div> <div class="tab"> <div class="link"> <a href="#" >scheda 3</a> </div> <div class="text"> testo scheda 3 </div> </div> </div> #parent { margin: 0 auto; width: 400px; } .tab { margin-bottom: 10px; } .tab .link a { display: block; padding: 10px; color: black; text-decoration: none; text-align: center; background: #f8f8f8; border: 1px solid gray; } .tab .link:hover a { background: #f2f2f2; } .tab:not(.active) .text { display: none; } .tab .text { border: 1px dashed gray; border-top: none; padding: 10px; height: 300px; }

Discussione

Tecnicamente il codice HTML dell'accordion è più conveniente del codice delle schede: in esso i link sono posizionati direttamente sopra lo spoiler che aprono e chiudono. Inoltre, la classe active nel nostro markup viene data al genitore comune del link e dello spoiler.

Ciò significa che quando si clicca su un link basta disattivare la vecchia scheda e attivare quella nuova. Per disattivare la vecchia scheda bisogna trovare la scheda con la classe active e rimuovere da essa questa classe.

Per attivare una nuova scheda è necessario, in base al click sul link, trovare il genitore di questa scheda link e darle la classe active. Tecnicamente una tale ricerca può essere fatta così: basta trovare il genitore più vicino del link che ha la classe tab.

Copiate i codici HTML e CSS forniti. Implementate l'accordion secondo l'algoritmo descritto.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta