martes, 22 de septiembre de 2009

hacer una pausa o esperar unos segundos

codigo para hacer pausas o esperar en javascript

setTimeout("alert('hello')",1250);

ejemplo de codigo de espera




<form>
<input type="button" value="Push this button to open an alert box in 1250 milliseconds" onClick="setTimeout('alert('hello')',1250);">
</form>


tomado de http://www.sean.co.uk/a/webdesign/javascriptdelay.shtm

1 comentario:

  1. Hola.

    Ciertamente el tema de la pausa en JavaScript aparentemente debería ser una coña, sin embargo es algo difícil de conseguir de forma efectiva.

    Porque efectivamente el famoso setTimeout no retrasa la ejecución de la sentencia, ya que ésta se produce en segundo plano.

    He visto y leído formas complicadísimas de hacerlo, o simplemente maneras poco eficaces, como es el caso del "alert()". Con este comando se abre un cuadro, que no se cierra hasta que pulsamos el botón de aceptar. Conclusión: no sirve.

    La solución es poner una función de "peaje" antes de continuar el código. Ésta actuará de transición.

    Pongamos por caso que vamos a ejecutar un código amplio. Generamos dos funciones que lo engloben, separadas por la zona donde queremos realizar la pausa.

    function primera(){******************}

    function segunda(){*****************}

    Haremos una tercera función de transición entre la primera y la segunda, y la llamaremos espera(). Dicha función contendría un contador, obviamente.

    Esta debería tener un código parecido al siguiente:

    //definimos la variable contador
    contador=0;

    function espera(){
    contador=contador+1;

    if(contador==5){segunda();return}
    setTimeout('espera()',1000)

    }

    Al contar 5000 milisegundos (cinco segundos) se ejecutaría la función segunda() y finalizaría la ejecución de espera()

    El programa completo sería:

    función primera(){ [código] espera()}

    function espera([código])

    function segunda([código]))

    Si intentáis colocar dicho contador dentro de la función, olvidarlo porque no funciona. Yo lo he intentado con cientos de variantes y no va.

    Espero haber servido de ayuda.

    casinosoftspain@gmail.com

    ResponderEliminar