Uruchamianie funkcji po czasie w JavaScript

Stronę tą wyświetlono już: 166 razy

W JavaScript można tworzyć procesy, które będą realizowały zadanie wywołania danej bezparametrowej funkcji po czasie. Do tworzenia takich procesów służą dwie następujące metody obiektu window:

  • setTimeout, która wywołuje jednokrotnie daną funkcję po podanym w milisekundach czasie;
  • setInterval, która wywołuje daną funkcję cięgle co określony interwał czasowy podany w milisekundach.

Pomimo, że powyższe metody są zaszyte wewnątrz obiektu window, są one też dostępne globalnie. Oto przykład utworzenia procesu zegara za pomocą tych funkcji:

Listing 1
  1. var id1 = setTimeout(
  2. function(){alert("raz uruchomiona funkcja po zadanym czasie");}, // funkcja, która zostanie wywołana
  3. 1000 // interwał czasowy w milisekundach
  4. }
  5. var id2 = setInterval(
  6. function(){alert(new Date());}, // funkcja, która zostanie wywołana
  7. 1000 // interwał czasowy w milisekundach
  8. }

W powyższym kodzie zmienne id1 i id2 przechowują identyfikator procesu zegara. Ten identyfikator może zostać użyty do przerwania procesu w dowolnej chwili, a to za sprawą dwóch następujących metod obiektu window, które również są dostępne globalnie:

  • clearTimer - ta metoda przyjmuje jako argument identyfikator zegara;
  • clearInterval - również przyjmuje jako argument identyfikator zegara.

Zestaw metod tutaj opisanych umożliwia tworzenie animacji na stronie. Żywym przykładem zastosowania jest zegar umieszczony z prawej strony paska menu na tejże stronie. Na końcu strony podane zostały linki do projektów mojego autorstwa, które wykorzystują te funkcje do realizacji swoich celów.

Komentarze