Okno setTimeout()
Przykłady
Poczekaj 5 sekund na powitanie:
const myTimeout = setTimeout(myGreeting, 5000);
Użyj clearTimeout(myTimeout), aby uniemożliwić uruchomienie myGreeting:
const myTimeout = setTimeout(myGreeting, 5000);
function myStopFunction() {
clearTimeout(myTimeout);
}
Więcej przykładów poniżej.
Definicja i użycie
Metoda setTimeout()
wywołuje funkcję po kilku milisekundach.
1 sekunda = 1000 milisekund.
Uwagi
Jest setTimeout()
wykonywany tylko raz.
Jeśli potrzebujesz wielokrotnych egzekucji, użyj setInterval()
zamiast tego.
Użyj clearTimeout()
metody, aby zapobiec uruchomieniu funkcji.
Aby wyczyścić limit czasu, użyj identyfikatora zwróconego przez setTimeout():
myTimeout = setTimeout(function, milliseconds);
Następnie możesz zatrzymać wykonanie, wywołując clearTimeout():
clearTimeout(myTimeout);
Zobacz też:
Składnia
setTimeout(function, milliseconds, param1, param2, ...)
Parametry
Parameter | Description |
function | Required. The function to execute. |
milliseconds | Optional. Number of milliseconds to wait before executing. Default value is 0. |
param1, param2, ... |
Optional. Parameters to pass to the function. Not supported in IE9 and earlier. |
Wartość zwrotu
Rodzaj | Opis |
Numer | Identyfikator timera. Użyj tego identyfikatora z clearTimeout(id), aby anulować licznik czasu. |
Więcej przykładów
Wyświetl okno ostrzeżenia po 3 sekundach (3000 milisekund):
let timeout;
function myFunction() {
timeout = setTimeout(alertFunc, 3000);
}
function alertFunc() {
alert("Hello!");
}
Wyświetl tekst z czasem:
let x = document.getElementById("txt");
setTimeout(function(){ x.value = "2 seconds" }, 2000);
setTimeout(function(){ x.value = "4 seconds" }, 4000);
setTimeout(function(){ x.value = "6 seconds" }, 6000);
Otwórz nowe okno i zamknij je po trzech sekundach (3000 milisekund):
const myWindow = window.open("", "", "width=200, height=100");
setTimeout(function() {myWindow.close()}, 3000);
Licz na zawsze - ale z możliwością zatrzymania liczenia:
function startCount()
function stopCount()
Zegar stworzony ze zdarzeniami czasowymi:
function startTime() {
const date = new Date();
document.getElementById("txt").innerHTML = date.toLocaleTimeString();
setTimeout(function() {startTime()}, 1000);
}
Przekaż parametry do funkcji (nie działa w IE9 i wcześniejszych):
setTimeout(myFunc, 2000, "param1", "param2");
Jeśli jednak użyjesz funkcji anonimowej, będzie ona działać we wszystkich przeglądarkach:
setTimeout(function() {myFunc("param1", "param2")}, 2000);
Obsługa przeglądarki
setTimeout()
jest obsługiwany we wszystkich przeglądarkach:
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes | Yes |