2010-04-16 29 views
6

¿Cómo puedo establecer un desencadenador retrasado en JavaScript para ejecutar una función después de un período de tiempo especificado?Esperar antes de activar una función para ejecutar en JavaScript

Mi programa esperará 5 segundos para ejecutar demo(); y si no puede iniciar la demostración en 5 segundos, necesito ejecutar sample() automáticamente.

¿Esto es posible hacer en JavaScript?

Respuesta

10

Puede invocar funciones después de un período de tiempo con setTimeout

setTimeout(demo, 5000); 

no estoy seguro de que tengo la "si es que no se inicie en demo con 5 segundos" parte de su pregunta, ya que el código anterior se ejecutar demostración() en 5 segundos.

1

Puede usar setTimeout para una pausa en javascript.

setTimeout(function(){callSample();}, 5000); 

continuación, establezca una variable global dentro demo() para que pueda identificar si demo() se ha llamado o no y luego en

function callSample() 
{ 
    if (variable set) 
    { 
     sample(); 
    } 
} 
2
<script language="javascript"> 
function sample() { 
    alert('sample here'); 
} 
function demo() { 
    alert('demo here'); 
} 
setTimeout("sample()", 5000); 
</script> 

<input type=button onclick="demo();"> 
+0

muy buena explicación! Muchas gracias much.But, en realidad tu script involk tanto la función con el intervalo de 5 seconds.actually que necesito sólo una función a la vez. – abhis

Cuestiones relacionadas