⊗jsPrStAcc 14 of 62 menu

Acordeão em JavaScript

Agora vamos implementar um acordeão. Ele é semelhante a abas viradas de lado. Além disso, no acordeão, você pode fechar a aba atual se clicar no link ativo.

Aqui está um exemplo:

Estude também a marcação na qual vamos resolver a tarefa:

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

Discussão

Tecnicamente, o código HTML do acordeão é mais conveniente do que o código das abas: nele, os links estão localizados diretamente acima do spoiler que eles abrem e fecham. Além disso, a classe active em nossa marcação é dada ao pai comum do link e do spoiler.

Isso significa que ao clicar em um link, você precisa simplesmente desativar a aba antiga e ativar a nova. Para desativar a aba antiga é necessário encontrar a aba com a classe active e remover essa classe dela.

Para ativar uma nova aba, você precisa, ao clicar em um link, encontrar o pai dessa aba link e dar a ela a classe active. Tecnicamente, essa busca pode ser feita assim: basta encontrar o pai mais próximo do link que tem a classe tab.

Copie os códigos HTML e CSS fornecidos. Implemente o acordeão de acordo com o algoritmo descrito.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar