Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Uniknac interwalu w interwale
Forum PHP.pl > Forum > Po stronie przeglądarki
wizard144
Wiem ze to pewnie glupota i gdybym sam pomyslal to bym to zrobil jakos, ale jest funkcja ktora przesuwa mi płynnie obrazek po kliknieciu na niego, jak klikne 2 razy to obrazek się zapętla jeśli mogę to tak nazwac


  1. wartosc = document.getElementById('divek').style.left;
  2. wartosc=parseInt(wartosc);
  3.  
  4.  
  5. zmiana=0;
  6.  
  7. id = setInterval(
  8. function()
  9. {
  10.  
  11. document.getElementById('divek').style.left=wartosc-5;
  12. wartosc=wartosc-5;
  13. zmiana=zmiana+5;
  14.  
  15.  
  16. if(zmiana == 50)
  17. {
  18. clearInterval(id);
  19. zmiana=0;
  20. }
  21.  
  22. }, 20);


Wygląda to mniej wiecej w taki sposob. Jak uniknac zapetlenia, tj wystepowania interwalu w interwale ? Jakis pomysł na jakiś warunek ? Próbowałem sprawdzać czy istnieje zmienna 'id'. no i mam jeszcze jedną opcję, ale tu w gre wchodzi AJAX a to zbedne obciazenie.

Proszę o odpowiedź
Berg
  1. wartosc = document.getElementById('divek').style.left;
  2. wartosc=parseInt(wartosc);
  3.  
  4.  
  5. zmiana=0;
  6.  
  7. if(id == false) {
  8. id = setInterval(
  9. function()
  10. {
  11.  
  12. document.getElementById('divek').style.left=wartosc-5;
  13. wartosc=wartosc-5;
  14. zmiana=zmiana+5;
  15.  
  16.  
  17. if(zmiana == 50)
  18. {
  19. clearInterval(id);
  20. id = false;
  21. zmiana=0;
  22. }
  23.  
  24. }, 20);
  25. }
  26.  

Na początku skryptu ustawiasz id na false. Przy kliknięciu w obrazek sprawdzasz czy id ma wartość false, jeśli tak to podstawiasz interval. Przy czyszczeniu intervalu ponownie ustawiasz wartość id na false.
wizard144
Hmmm ze tez na to nie wpadlem smile.gif ale nie wiem czy to tak podziala smile.gif wiesz niby funkcja wywoluje sie ponownie. oj zobaczymy ;d sprawdze smile.gif
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.