2011-11-08 20 views
6

Ho fatto questo un mese prima ... Ma ora il suo non funziona ... Il codice èfunzione Javascript setTimeout nell'evento Load finestra ... non funziona

window.onload = function(){ 
setTimeout(function(){ 
    alert("Hello"); 
}, 10000); 
}; 

Questo è scritto in script in testa alla pagina test.php. Lo script e altri tag sono corretti.

Vorrei chiamare una funzione specifica ogni 10 secondi. L'avviso mostra solo una volta. Questo è un problema in ogni browser .... Dopo questo test vorrei controllare l'url ogni 2 secondi e chiamare una funzione AJAX.

Qualsiasi aiuto ??

+0

Grazie per la funzione setInterval ... Ha funzionato. –

risposta

9

Questo è ciò che fa setTimeout (viene eseguito una volta dopo un intervallo specificato). Siete alla ricerca di setInterval (chiama una funzione più volte, con un ritardo di tempo fisso tra ogni chiamata a tale funzione):

window.onload = function(){ 
    setInterval(function(){ 
     alert("Hello"); 
    }, 10000); 
}; 
0

setTimeout è destinato per eseguire una sola volta. Guarda la funzione setInterval.

1
var fn = function(){alert("Hello")}; 

E 'possibile utilizzare setTimeout:

window.onload = function(){ setTimeout(function(){ fn();window.onload() },10000) }; 

ma la soluzione migliore è setInterval:

window.onload = function() { setInterval(fn,10000)};