Metodo Window setTimeout()

Definizione e uso

setTimeout() Il metodo chiama la funzione dopo un certo numero di millisecondi.

Commento:1 secondo = 1000 millisecondi.

Suggerimento

setTimeout() eseguire una volta sola.

Se hai bisogno di eseguire ripetutamente, utilizza setInterval().

Utilizzare metodo clearTimeout() per fermare l'avvio della funzione.

Per cancellare l'timeout, utilizzare setTimeout() id restituito:

myTimeout = setTimeout(function, milliseconds);

Poi puoi fermare la funzione chiamando metodo clearTimeout() per fermare l'esecuzione:

clearTimeout(myTimeout);

Vedi anche:

metodo clearTimeout()

metodo setInterval()

metodo clearInterval()

Esempio

Esempio 1

Un messaggio di saluto che aspetta 5 secondi:

const myTimeout = setTimeout(myGreeting, 5000);

Prova personalmente

Esempio 2

Per fermare l'esecuzione di myGreeting, utilizzare clearTimeout(myTimeout):

const myTimeout = setTimeout(myGreeting, 5000);
function myStopFunction() {
  clearTimeout(myTimeout);
}

Prova personalmente

Più esempi sono forniti nella parte inferiore della pagina.

sintassi

setTimeout(function, milliseconds, param1, param2, ...)

parametro

parametro descrizione
function obbligatorio. Funzione da eseguire.
milliseconds

opzionale. Millisecondi di attesa prima dell'esecuzione.

valore predefinito 0.

param1, param2,...

opzionale. Parametro passato alla funzione.

IE9 e versioni precedenti non supportano.

valore di ritorno

tipo descrizione
numero.

l'ID dell'orologio.

Si prega di assegnare questo id a clearTimeout(idMetodo Utilizzare insieme per annullare il timer.

Supporto del browser

Tutti i browser lo supportano setTimeout():

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Supporta Supporta Supporta Supporta Supporta Supporta

Più esempi

Esempio 3

Mostra un messaggio di avviso dopo 3 secondi (3000 millisecondi):

let timeout;
function myFunction() {
  timeout = setTimeout(alertFunc, 3000);
}
function alertFunc() {
  alert("Hello!");
}

Prova personalmente

Esempio 4

Mostrare il testo di conteggio:

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);

Prova personalmente

Esempio 5

Aprire una nuova finestra e chiuderla dopo tre secondi (3000 millisecondi):

const myWindow = window.open("", "", "width=200, height=100");
setTimeout(function() {myWindow.close()}, 3000);

Prova personalmente

Esempio 6

Conteggio continuo - ma può essere fermato:

function startCount()
function stopCount()

Prova personalmente

Esempio 7

Orologio creato con un evento di conteggio:

function startTime() {
  const date = new Date();
  document.getElementById("txt").innerHTML = date.toLocaleTimeString();
  setTimeout(function() {startTime()}, 1000);
}

Prova personalmente

Esempio 8

Passare i parametri alla funzione (non funziona in IE9 e versioni precedenti):

setTimeout(myFunc, 2000, "param1", "param2");

Prova personalmente

Esempio 9

Ma se si utilizza una funzione anonima, è compatibile con tutti i browser:

setTimeout(function() {myFunc("param1", "param2")}, 2000);

Prova personalmente