Grzegorz Fus informatyk
Temat: menu rozwijane js/jQuery
Witam!Potrzebuje stworzyć rozwijane menu (najlepiej w js lub jquery). Ponieważ nigdy wcześniej nie miałem do czynienia z js, postanowiłem przeszukać na sieci przykładowe skrypty i wykorzystać jeden z nich.
Chciałbym w tym miejscu zaznaczyć, że zależało mi na menu "onclick".
Niestety, jeśli jest się początkującym i tworzy się takie rzeczy na zasadzie ctrl+c/ctrl+v niemal pewnym jest, że coś nie będzie działać tak, jak sobie tego życzymy. I tak też jest w moim przypadku...
Poniżej przedstawiam wam fragment mojego menu:
$(document).ready(function(){
$('ul#menu1 li ul, ul#menu1 li ul').hide();
$('ul#menu2 li ul, ul#menu2 li ul').hide();
$('ul#menu3 li ul, ul#menu3 li ul').hide();
$('ul#menu1 > li > a').click(function(){
$('ul#menu2 li ul, ul#menu2 li ul').hide(500);
$('ul#menu3 li ul, ul#menu3 li ul').hide(500);
$(this).parent('li').children('ul').toggle(500);
});
$('ul#menu11 > li > a').click(function(){
$('ul#menu11 li ul, ul#menu11 li ul').hide(500);
$(this).parent('li').children('ul').toggle(500);
$(this).parent('li').toggleClass('click');
});
Gdzie: menu11 jest podmenu menu1.
Menu wygląda całkiem zgrabnie, jednak jak już wyżej pisałem nie działa w pełni po mojej myśli.
A mianowicie:
1) Nie wyświetla się poprawnie pod IE (co akurat jest w tej chwili dla mnie najmniejszym zmartwieniem).
2) toggleClass - owszem, działa, ale nie tak jak bym chciał.
A mianowicie po kliknięciu w np. 1 element menu zostaje on przesunięty o wartość zadaną w .click (css). Po kolejnym kliknięciu w 1 element, wraca on do początkowego położenia. I wszystko ładnie. Problem w tym, że chce również aby: przy aktywnym np. 1 elemencie menu po kliknięciu w 2, 3 lub 4 itd. element menu, 1 element wrócił do stanu początkowego, a 2, 3 lub 4 itd. element został przesunięty.
W skrócie chodzi mi głównie o zaznaczenie w jakiś sposób aktywnego elementu menu oraz o jego powrót do stanu początkowego, po aktywowaniu innego elementu.
Niestety nie wykonam tego za pomocą toggleClass. Czy ktoś z was ma może pomysł jak to rozwiązać?
Ewentualnie, czy ktoś z was zna podobnie zachowujące się menu w jquery?
Próbowałem to również rozwiązać za pomocą remove/addClass, jednak bez efetków.