Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]+[jQuery]return nie zatrzymuje funkcji
Forum PHP.pl > Forum > Przedszkole
Kamil Pietrzak
Witam.

mam taki kod, do przesuwania men na stronie
  1. //jesli nowa pozycja i kolumna sa identyczne jak aktualne
  2. if(newPosition == elems[elemID][1] && newColumn == elems[elemID][0]) return true;
  3.  
  4. $.post('index.php?action=menus_changePosition', {id: elemID, newPosition: newPosition, newColumn: newColumn}, function(data){
  5. alert(data)
  6. elems[elemID][1] = newPosition;
  7. elems[elemID][0] = newColumn;
  8. });
  9.  


jak pozycja nie ulegla zmianie, to wywali return true i skrypt przestaje dzialac
alert(data) z 5 linii sie nie uruchomi
ale czasem jednak uruchamia sie ten alert, mimo, ze na 100% warunek zostal spelniony(sparawdzalem alertem)

to normalne w js? mozna jakos skuteczne zakonczyc dzialanie funkcji?
wookieb
Sprawdzanie tego alertem to zły pomysł. Lepiej użyć console.log('cos') przy włączonym firebugu.
Generalnie jest to niemożliwe aby po returnie funkcja działała dalej, tylko tyle powiem.
Kamil Pietrzak
Ok, wyjasnilo sie
oczywiscie przez moja glupote - w zlym miejscu postawilem aktualizacje tablicy elems i aktulizowal sie tylko jeden element, a nie wszystko
nie pomyslalem o tym, ze jak zabiore menu z pozycji 2, to 3 na nia wskoczy, a na 3 4 itd.

dzieki za info o console.log() winksmiley.jpg
debuggowanie alertem jest meczace, wiec sie przyda;)
melkorm
Cytat
Sprawdzanie tego alertem to zły pomysł. Lepiej użyć console.log('cos') przy włączonym firebugu.


Gorzej jeżeli zostanie w kodzie, co dziwne wysypuje się tylko pod FF z wyłączonym firebug'iem -.-' (nie wiem jak z IE).
wookieb
Taki przypadek można obejść w 30 sekund, ale po co? Przecież takie coś wywala się po debugu.
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.