--- title: window.setInterval slug: Web/API/Window/setInterval tags: - DOM - DOM_0 - Dokumentacja_Gecko_DOM - Gecko - Wszystkie_kategorie translation_of: Web/API/WindowOrWorkerGlobalScope/setInterval ---
{{ ApiRef() }}
Ustawia opóźnienie do cyklicznego wywoływania określonej funkcji.
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óźnieniekod
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.
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 clearInterval()
z parametrem idInterwalu
.
<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>
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()
.
{{ DOM0() }}
{{ languages( { "en": "en/DOM/window.setInterval", "fr": "fr/DOM/window.setInterval", "ja": "ja/DOM/window.setInterval", "pl": "pl/DOM/window.setInterval" } ) }}