And After - Design e Tecnologia por Sua Conta!
O desenvolvedor é um blog sobre desenvolvimento web, não tratando apenas de programação mas também compartilhando experiências, métodos, debates e tendências da internet.

O Desenvolvedor é um blog de www.andafter.org
Assinar o Feed RSS

Guilherme Serrano

[@]
[www]

Graduado em design, viciado em web, adoro desenvolvimento, mashups, usabilidade, o universo e tudo mais.

Vivo de e para internet. :)

Status
Karma: 68951
Opiniões: 30

Mais deste autor


Menu Accordion com JQuery (sem plugin)

Menu Accordion com JQuery (sem plugin)

Muito bomEste texto foi classificado como Muito bom
Em Internet, Programação
Por Guilherme Serrano
11 de Dezembro de 2008

Existem plugins do jQUery para tudo, mas porque carregar MAIS coisa para coisas simples? Aqui vai um exemplo de como fazer um menu accordion com jQuery.

RSS Acompanhe O Desenvolvedor por Feeds!


Quanto mais estudo mais eu gosto de jQuery, e as possibilidades de uso aumentam a cada leitura. :)

Resolvi aplicar jQuery na base (framework, huh?) que utilizo para as intranets de meus clientes e isso foi responsável por grande parte do meu aprendizado, estou aplicando também na nova versão do And After (resultado do meu TCC sobre usabilidade: análise heurística).

Desenvolvi os wireframes navegáveis do And After para fazer testes de navegação mais próximos do real possível e para isso utilizei menu accordion.

Não gosto de utilizar *muitos* plugins por três motivos principais:

  • Aumento do carregamento
  • Possível incompatibilidade
  • Falta de controle (somente em alguns casos)

 Porém não sejamos xiita, se existe algo pronto, bom, e que não irá atrapalhar o carregamento ou o funcionamento de nada, porque não utilizar? :)

 

Menu accordion com jQuery

Pouco código, simples e leve.

javascript

 

$(document).ready(function(){

$(´[rel="cont_autor"]:not(:first)´).hide();

$(´[rel="nav_autor"]´).click(function(){
     $(´[rel="cont_autor"]:visible´).slideUp("normal");
     $(this).next().slideDown("normal");
          return false;
});

});

A primeira linha apenas "dá start" no código, para ele ser carregado quando o documento estiver pronto.

Depois procuro os conteúdos dentro do meu menu (usando o atributo rel="cont_autor"), como vocês podem ver no html ali em baixo. Todos os conteúdos são escondidos, menos o primeiro, que por padrão estará sempre aberto no meu menu.

Quando clicar no item com atributo rel="nav_autor" então escondo todos os conteúdos visíveis utilizando o slideUp e pego o elemento depoisdo navegador (o conteúdo que está logo abaixo) e mostro ele utilizando o slideDown.

 

html

 

Últimos artigos do autor

Últimos comentários do autor

Últimas leituras do autor


Nesse caso usei h4 para definir os títulos e linhas de navegação, o correto é utilizar definition list (dl), mas meu objetivo aqui era apenas mostrar o funcionamento do menu independente da estruturação do html.

Simples e funcional, sem carregar nada desnecessário. :)

dicas

O que você achou do texto?

  • Muito ruim
  • Ruim
  • Regular
  • Bom
  • Muito bom
Sua opinião é o que faz a comunidade funcionar, colabore para isso!

Tags: jquery, javascript, html, desenvolvimento, navegacao, design-digital

Enviar para um amigo
Você pode comentar, assinar o feed, conhecer mais sobre o autor e ajudar a divulgar este artigo em sua ferramenta favorita através dos botões abaixo.
  • Rec6
  • ueba
  • linkk
  • dihitt
  • linkloko
  • websapiens
  • linkto
  • Eu curti

Comentários

Chris Benseler

11/12/2008 23:01:00

Ah, sabe o que podia ter? E isso eu percebo que eu esqueço de fazer sempre... é ter um html de exemplo!

[Responder este comentário]

xALEXANDRE

12/12/2008 08:54:00

Muito bem comentado Benseler!
Um exemplo seria ótimo.
Eu utilizo um menu accordion, mas carregando um plugin Accordion para jQuery;

[]`s

Bianca Brancaleone

12/12/2008 11:43:00

Guilherme e Chris, acho exemplos desses códigos uma ótima idéia :D

[Responder este comentário]

Simply Red

4/8/2009 23:54:00

Velhaco...
Deixa um exemplo...
Ninguém merece

[Responder este comentário]

Lia
[www]

22/9/2009 11:00:00

cadê o link com o exemplo???? ¬¬"

[Responder este comentário]

Guilherme Serrano
[www]

22/9/2009 12:03:00

faltou... só os posts novos estão com exemplos :(

Décio
[www]

16/8/2010 16:02:00

Caraca velho! Muito simples e fácil, valeu mesmo!

[Responder este comentário]

Guilherme Serrano
[www]

16/8/2010 22:26:00

De nada Décio :D

Deixe seu comentário!

Nome (requerido)

E-mail (requerido - não será divulgado)

URL

Quanto é 2 + 3?




web tracker