Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Problem z warunkami dla Jquery
Forum PHP.pl > Forum > Przedszkole
Octobus
Witam. Mam taki skrypt do rozsuwania menu w jquery

[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){
  2.  
  3. $('ul#menu-pionowe li li').show().not('ul#menu-pionowe li.current_menu_parent li').hide()
  4.  
  5. $("ul#menu-pionowe li").click(function()
  6. {
  7. $('li', this).toggle("normal");
  8.  
  9. if($(this).parent().attr('class') != "sub-menu")
  10. {
  11. alert('spelnia warunek');
  12. return false;
  13. }else alert('nie spelnia warunku');
  14. });
  15. return false;
  16. });
[JAVASCRIPT] pobierz, plaintext


Jeśli nie jest to class sub-menu to nie otwieraj linku i ten warunek działa. Ale jeśli jest to sub-menu to nie spełnia warunku i wykonuje sie else a nastepnie wykonuje sie spelnienie warunku bo to li jest wewnatrz li ktore je spelnia ... Dokładnie widać to tutaj w lewy menu ...
wookieb
Użyj "hasClass"
Calibri
Cześć.

Może problem tkwi w tym, że niema klamer?

Linia 13. za else jest alert() ale niema go w klamrach.


Zobacz także ten link


Pozdrawiam.
buliq
klamry są zbędne jeżeli chcemy wykonać tylko jedno polecenie.


Tak powinno wyglądać.
[JAVASCRIPT] pobierz, plaintext
  1. if($(this).parent().hasClass("sub-menu"))
  2. {
  3. alert('spelnia warunek');
  4. }else alert('nie spelnia warunku');
[JAVASCRIPT] pobierz, plaintext
Calibri
Dlatego napisałem "może" gdyż nie byłem pewien czy jeżeli czynność z pierwszego warunku jest w klamrach to czy przy else kiedy druga czynność ma się wykonać też ma być w klamrach.
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.