⊗jsPrStAcc 14 of 62 menu

Acordeón en JavaScript

Ahora implementemos un acordeón. Es similar a las pestañas, pero giradas de lado. Además, en un acordeón puedes cerrar la pestaña actual si haces clic en el enlace activo.

Aquí hay un ejemplo:

Estudia también el marcado en el que resolveremos la tarea:

<div id="parent"> <div class="tab active"> <div class="link"> <a href="#" >pestaña 1</a> </div> <div class="text"> texto de la pestaña 1 </div> </div> <div class="tab"> <div class="link"> <a href="#" >pestaña 2</a> </div> <div class="text"> texto de la pestaña 2 </div> </div> <div class="tab"> <div class="link"> <a href="#" >pestaña 3</a> </div> <div class="text"> texto de la pestaña 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; }

Discusión

Técnicamente, el código HTML del acordeón es más conveniente que el código de las pestañas: en él, los enlaces se ubican directamente sobre el spoiler que abren y cierran. Además, la clase active en nuestro marcado se le asigna al padre común del enlace y el spoiler.

Esto significa que al hacer clic en un enlace simplemente hay que desactivar la pestaña anterior y activar la nueva. Para desactivar la pestaña anterior es necesario encontrar la pestaña con la clase active y eliminar de ella esta clase.

Para activar la nueva pestaña, es necesario al hacer clic en el enlace encontrar la pestaña padre de este enlace y darle la clase active. Técnicamente, dicha búsqueda se puede hacer así: simplemente encontrar el padre más cercano del enlace que tenga la clase tab.

Copia los códigos HTML y CSS proporcionados. Implementa el acordeón de acuerdo con el algoritmo descrito.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar