Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]clearTimeout() nie działa
Forum PHP.pl > Forum > Przedszkole
unnamedly
Witam, mam taki kodzik:

[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function() {
  2. var loadingTimer;
  3. $(".dynamic").live("click", function() {
  4. setTimeout(function() {
  5. $("#beltTop").before("<div id='loadingText'>Loading</div>");
  6. setTimeout(function() { $("#loadingText").fadeIn(200); loadingTimer = setTimeout(loadingFunction, 600); }, 400);
  7. var loadingFunction = function() { $("#loadingText").append("."); loadingTimer = setTimeout(loadingFunction, 600); if($("#loadingText").html() == "Loading....") $("#loadingText").html("Loading"); }
  8. $.ajax({
  9. url: "blablabla",
  10. success: function(data) {
  11. clearTimeout(loadingTimer);
  12. $("#loadingText").remove();
  13. }
  14. });
  15. }, 400);
  16. });
  17. });
[JAVASCRIPT] pobierz, plaintext


Jednak po sukcesie ajax`a, timeout się nie zatrzymuje, tylko działa dalej, a jak drugi raz kliknę (po sukcesie) na .dynamic, to mam już 2 timery loadingTimer, trzeci raz kliknę - 3. Dlaczego timeout się nie usuwa? Z góry dzięki za odp.
lobopol
Bo pierwszy timeout nie jest do niczego przypisany i jest cały czas dodawany nowy po kliknięciu
unnamedly
W jakim sensie go przypisać (?), bo próbowałem, próbowałem i nic :/
kamil4u
Zawsze w takich wypadkach sprawdzaj dokumentację: https://developer.mozilla.org/pl/docs/DOM/window.setTimeout

Cytat
id to identyfikator, którego można użyć z window.clearTimeout
unnamedly
Wiem o tym, ale przypisuję id do pierwszego od góry timeOut`a (var firstTimeout = setTimeout(function() {})) i nadal nie działa!
kamil4u
Ty nie rozumiesz co robisz smile.gif - przynajmniej mam takie wrażenie.

Napisz kod trochę ładniej - każda instrukcja w innej lini i dopisz do każdej komentarz. Jeżli nadal Ci się nie uda dojść do rozwiązania to Ci pomogę - niestety teraz nadal nie jestem pewien co chcesz uzyskać, stąd ta prośba.
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.