Como fazer Accordion Simples com jQuery em 5 linhas de código

O accordion, também conhecido como “menu sanfona”, serve para estruturar conteúdo em tópicos. Ele é bem simples de fazer, a maioria das pessoas que visitam devem saber fazer de olhos vendados. E com a biblioteca jQuery no seu site, é possível fazer um accordion com apenas 5 linhas de código.

Veja os exemplos que também ensinam como fazer:

O código em jQuery

$(document).ready(function(){
	$('h2.accordion').click(function(){
		$(this).parent().find('div.accordion').slideToggle("slow");
	});
});

A estrutura em html

<div class="exemplo">
	<h2 class="accordion">Título/h2>
	<div class="accordion">
		<p> texto de descrição </p>
	</div>
</div>

O CSS

na verdade é somente duas linhas de css que são obrigatórias:

h2.accordion{ cursor: pointer; }
div.accordion{ display: none; }

Você pode se interessar também por:

18 Responses to “Como fazer Accordion Simples com jQuery em 5 linhas de código”

  1. 1
    Anderson Says:

    ÓTIMOOO ♥

  2. 2
    Alexandre Says:

    Excelente!!

  3. 3
    marco riesco Says:

    Danilo, otimo tutorial, teria como você ensinar a não esconder o primeiro item?

    ou seja esconder os outros e deixar o primeiro aberto, qdo clicar no segundo fechar o primeiro e assim vai..

  4. 4
    Sammy Newton Says:

    Código perfeito! Fácil de configurar. Em 5 minutos estava funcionando. Salvou meu domingo!

  5. 5
    Luiz Says:

    Cara, te amo ♥ … ahsuhasudaushda

    Salvou meu domingo tbm …

    fazia uns 2 meses que eu estava quebrando a cabeça com mootools pra misturar com Jquery .. e em apenas 1 minuto após ler este post, reciclei minha pagina de FAQ …

    Te Adoro Cara .uAHUhauhahuh

    ( Dale SANTOS \o/ _o_ \o/… )

  6. 6
    Viviane Says:

    Fiz tudo direitinho e não funcionou…

  7. 7
    Alex Says:

    muito bom cara!!!

  8. 8
    Carlos Viegas Says:

    Perfeito, amigo.
    Só corrige ali o teu html, no momento em que você fecha o h2.

    Do mais, sucesso e parabéns pelo blog.

    @caviegas

  9. 9
    Guilherme Barbosa Says:

    Muito bacana.
    Só uma correção: o termo Accordion é usado quando um item some para o outro aparecer. A forma que você mostrou é mais conhecida como hide/show ou algo assim.

  10. 10
    Patricia Gil Says:

    Parabénssss!!
    Ótimo tutorial, simples, fácil e ágil.
    Já implementei no site :)

    Abs

  11. 11
    Fábio Says:

    Olá, muito bom tutorial, funciona de forma perfeita e é muito simples de implementar e personalizar.

    Obrigado pela dica.

  12. 12
    jonathan silva Says:

    Muito bom esse tutorial, estava aqui tentando implementar esse tipo de accordion na versão mobile do portal do tribunal, e utilizando plugins cheios de kb, quando eis que encontro esse simples tutorial.Perfeito. Muito obrigado kra por compartilhar esse tutorial.

  13. 13
    Como fazer Accordion Simples com jQuery em 5 linhas de código : FernandoMoreira - Webdesigner e Programador Says:

    [...] Fonte: tidbits.com.br [...]

  14. 14
    Will Says:

    Nossa muito obrigado!!!! valeu cara

  15. 15
    Felipe Says:

    Eu baixei o jquery mas nao funcionou. Voce pode disponibilizar o arquivo para download?

  16. 16
    Gabriel Says:

    Cara, procurei uma solução dessa por horas! A tua foi excelente, to fazendo um menu com o wp_list_categories do wordpress com ela pra ficar collapsible. Mto obrigado!

  17. 17
    Rafael Says:

    Cara, seu exemplo ficou muito bom.
    Apenas uma sugestão:
    Na linha:
    $(this).parent().find(‘div.accordion’).slideToggle(“slow”);
    Eu gostaria de trocar por:
    $(this).next(‘div.accordion’).slideToggle(“slow”);

    Na forma que está especificado eu tive problemas no chrome ao utilizar mais de 1 elemento de listagem (no seu caso o h2 e a div). Ao executar o segundo ou o terceiro, ele forçava o primeiro grupo a ser exibido. usando next contornei o problema. Abraço e muito obrigado!

  18. 18
    Marcelo Says:

    Olá Danilo,

    O seu código é bem fácil, mas o mesmo apresenta problemas quando se usa ele com 2 accordions seguidos no IE7.
    Quando se clica no h3, o IE reage quebrando os espaços entre os accordions, deixando colocados… é como se desse um erro e a estrutura css que amarra os accordions se quebrasse e tudo ficasse agarrado. No Chrome e no FF funciona perfeitamente.
    Sabe me dizer se existe algum recurso para corrigir isso no IE ?

    Abraços,
    Marcelo.

Leave a Reply