Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] ClearInterval nie działa
unnamedly
post
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 5.05.2012

Ostrzeżenie: (0%)
-----


[JAVASCRIPT] pobierz, plaintext
  1. $(".bx-start").click(function() {
  2. if($(".bx-count").length)
  3. {
  4. clearInterval(interval);
  5. $(".bx-count").remove();
  6. }
  7. else
  8. {
  9. $(".bx-window").before("<span class='bx-count'>25</span>");
  10. var howmuch = 25;
  11. var interval = setInterval(function() {
  12. howmuch--;
  13. $(".bx-count").html(""+howmuch+"");
  14. if(howmuch == 0)
  15. howmuch = 25;
  16. }, 1000);
  17. }
  18. });
[JAVASCRIPT] pobierz, plaintext


Czyli klikam w .bx-start i jeśli istnieje .bx-count, to ma czyścić mi timer i usuwać span`a. Jeśli nie istnieje, to tworzy .bx-count i ustawia timer, który odlicza od 25 do 0 i tak w kółko.

Problem w tym, że clearInterval() mi nie działa i nie czyści timeru (każdy kolejny timer przy kliknięciu w .bx-start o (chyba) id "interval" działa w tym samym czasie).

Any ideas?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
PrinceOfPersia
post
Post #2





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

Ostrzeżenie: (0%)
-----


aha. No tak, ale to tylko pozorna rekurencja, bo w rzeczywistości
nie robisz tak
exampleFunction() -->
exampleFunction() -->
exampleFunction() --->
exampleFunction() --->
--> (może grozić przepełnieniem stosu w skrajnych przypadkach)

tylko tak:
1. exampleFunction() ---> setTimeout() --> return
-- zwrócenie sterowania do przeglądarki --
2. exampleFunction() ---> setTimeout() --> return
-- zwrócenie sterowania do przeglądarki --
3. exampleFunction() ---> setTimeout() --> return


Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 14:55