Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery] Mały problem z menu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
jankes83
Witam,

Posiadam menu w postaci listy nieuporzadkowanej, w której zagnieżdżone są submenu. Całość znajduje się w divie.
Czyli kod wygląda mniej więcej w ten sposób:
  1. <div id="nav">
  2. <ul>
  3. <li>Menu 1<ul><li>Submenu 1.1</li><li>Submenu 1.2</li><li>Submenu 1.3</li></ul></li>
  4. <li>Menu 2</li>
  5. <li>Menu 3</li>
  6. <li>Menu 4<ul><li>Submenu 4.1</li><li>Submenu 4.2</li><li>Submenu 4.3</li></ul></li>
  7. <li>Menu 5</li>
  8. </ul>
  9. </div>


Menu rozwijam za pomocą tego kodu:
  1. $('#nav>li>ul').hide();
  2. $('#nav>li').mouseover(function(){
  3.  
  4. if ($('#nav ul:animated').size() == 0) {
  5. $heading = $(this);
  6. $expandedSiblings = $heading.siblings().find('ul:visible');
  7.  
  8.  
  9. if ($expandedSiblings.size() > 0) {
  10. $expandedSiblings.slideUp(200, function(){
  11. $heading.find('ul').slideDown(200);
  12. });
  13. } else {
  14. $heading.find('ul').slideDown(200);
  15. }
  16. }
  17. });


Mój problem, polega na tym, że gdy w momencie rozwinięcia submenu wyjadę poza ul (te główne) to lista się nie chce schować. Zeby się schowała muszę najechać na inny element listy. Krótko mówiąc chowanie działa tylko w obrębie listy. Próbowałem dać chowanie elementów po najehcnaiu na body, jednak wtedy submenu w ogóle się nie pokaże. Czy ktoś ma pomysł jak to zrobić?

edit

Rzeczywiście nospor, błąd już się nie powtórzy:)
nospor
czemu jak ktos uzywa jquery to od razu mysli ze nalezy dawać to w dziale AJAX? Czy twoj problem ma jakikolwiek związek z AJAXem? Jak boli cię ucho to też idziesz do okulisty? winksmiley.jpg

przenosze
jankes83
Czy naprawdę nikt nie potrafi mi pomóc?
erix
Puść gdzieś to na żywo. Od tego jest Firebug, żeby debugować, więc nieco ułatw nam zadanie. winksmiley.jpg
jankes83
http://jankes.provector.pl/menu/ - kiedy najadę na rozwijalny element li (np. "menu1"), a później na inny element li to "menu1" chowa się - w tym momencie jest wszystko ok. Jednak kiedy najadę na "menu1" i przesunę myszkę w prawo (poza granicę listy) to submenu dalej się wyświetlają. Firebug błędu nie pokaże bo w tym skrypcie błędu nie ma. Po prostu nie wiem jak rozwiązać ten problem.
erix
Dodaj zdarzenie zwijania wszystkich submenu w sytuacji, gdy kursor opuszcza całą listę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.