$(document).ready(function() {
//Hide all the content except the first
$('.accordian li:odd:gt(0)').hide();
// Add the dimension class to all the content
$('.accordian li:odd').addClass('dimension');
// Set the even links with an 'even' class
$('.accordian li:even:even').addClass('even');
// Set the odd links with a 'odd' class
$('.accordian li:even:odd').addClass('odd');
// Show the correct cursor for the links
$('.accordian li:even').css('cursor', 'pointer');
// Handle the click event
$('.accordian li:even').click( function() {
// Get the content that needs to be shown
var cur = $(this).next();
// Get the content that needs to be hidden
var old = $('.accordian li:odd:visible');
// Make sure the content that needs to be shown
// isn't already visible
if ( cur.is(':visible') )
return false;
// Hide the old content
old.slideToggle(300);
// Show the new content
cur.stop().slideToggle(300);
});
Sei que nessa linha $('.accordian li:odd:gt(0)').hide(); é onde ocorre esse "problema" de sempre mostrar o primeiro bloco de links.
O que tentei fazer, alterei $('.accordian li:odd:gt(0)').hide(); para $('.accordian li:odd:gt(1)').hide();
Até funciona, quando a página carrega, abre o segundo bloco primeiro, mas o primeiro também fica aberto.
Se fizer com o terceiro, a mesma coisa, a página carrega com o terceiro bloco aberto, e os demais antes dele também. =(
Tentei fazer com que todos os blocos iniciassem fechados, mas ai num funcionou o script. =S
Não tenho muita experiencia com jQuery, mas só falta isso para terminar meu trabalho e eu já não sei mais o que fazer.
Question
Maycon P. Stanguine
Olá a todos, bom dia!
Por favor, estou com problemas ao utilizar menu com jQuery, e agradeceria quem pudesse me ajudar.
Enfim, estou usando o "efeito" accordion para o menu de site (trabalho da faculdade).
Ele funciona perfeitamente.
Mas tem um porém, quando clico em um dos links do menu, ao carregar a página o menu recolhe e fica sempre no primeiro bloco de links.
Segue o código do menu:
HTML:
jQuery:Sei que nessa linha $('.accordian li:odd:gt(0)').hide(); é onde ocorre esse "problema" de sempre mostrar o primeiro bloco de links.
O que tentei fazer, alterei $('.accordian li:odd:gt(0)').hide(); para $('.accordian li:odd:gt(1)').hide();
Até funciona, quando a página carrega, abre o segundo bloco primeiro, mas o primeiro também fica aberto.
Se fizer com o terceiro, a mesma coisa, a página carrega com o terceiro bloco aberto, e os demais antes dele também. =(
Tentei fazer com que todos os blocos iniciassem fechados, mas ai num funcionou o script. =S
Não tenho muita experiencia com jQuery, mas só falta isso para terminar meu trabalho e eu já não sei mais o que fazer.
Agradeço a quem puder ajudar. =)
Edited by Maycon P. StanguineLink to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.