window.setInterval

przez 5 współtwórców

Podsumowanie

Ustawia opóźnienie do cyklicznego wywoływania określonej funkcji.

Składnia

var idInterwalu = window.setInterval(funkcja, opóźnienie[, parametr1, parametr2, ...]);
var idInterwalu = window.setInterval(kod, opóźnienie);

 Parametry

  • idInterwalu to identyfikator ustawianego interwału który można przekazać do funkcji window.clearInterval().
  • funkcja to funkcja, dla której ustawiane jest opóźnienie
  • kod to ciąg znaków zawierający kod javascript do cyklicznego wykonania. Jest to składnia alternatywna, której wykorzystanie nie jest zalecane z tych samych powodów, co stosowanie eval().
  • opóźnienie to liczba milisekund (tysięcznych części sekundy), co którą wywoływana będzie funkcja lub kod

Należy zwrócić uwagę, że przekazywanie dodatkowych parametrów w pierwszej składni nie działa w Internet Explorerze.

Przykład

idInterwalu = window.setInterval(animuj, 500);

 W poniższym przykładzie, funkcja zmienKolorTekstu() będzie wykonywana co sekundę, dopóki użytkownik nie naciśnie przycisku Stop, co spowoduje wywołanie clearInterwal() z parametrem wewnetrzneID.

<html>
<head>
<title>przykład z wykorzystaniem setInterval/clearInterval</title>

<script type="text/javascript">
var idInterwalu;

function zmienKolor() {
  idInterwalu = setInterval(zmienKolorTekstu, 1000);
}

function zmienKolorTekstu() {
  var elem = document.getElementById("my_box");
  if (elem.style.color == 'red') {
    elem.style.color = 'blue';
  } else {
    elem.style.color = 'red';
  }
}

function zatrzymajZmianeKoloru() {
  clearInterval(idInterwalu);
}
</script>
</head>

<body onload="zmienKolor();">
<div id="my_box">
<p>Hello World</p>
</div>
<button onclick="zatrzymajZmianeKoloru();">Stop</button>
</body>
</html>

Uwagi

Funkcja setInterval() służy do ustawienia opóźnienia dla cyklicznie wywoływanych funkcji, takich jak funkcje animacji.

Możliwe jest anulowanie wykonania fukcji poprzez wywołanie window.clearInterval().

Jeżeli funkcja ma zostać wykonana tylko raz a nie być wykonywana cyklicznie to należy skorzystać z  window.setTimeout().

Specyfikacja

DOM Level 0. Nie jest częścią żadnego standardu.

Autorzy i etykiety dokumentu

Contributors to this page: teoli, khalid32, qfel13, Mgjbot, Jan Dudek
Ostatnia aktualizacja: khalid32,
Ukryj panel boczny