sheet - Cómo crear la función de retardo de javascript
poner negrita con javascript (4)
Esta pregunta ya tiene una respuesta aquí:
- ¿Cuál es la versión de JavaScript de sleep ()? 72 respuestas
Tengo un archivo javascript, y en varios lugares quiero agregar un pequeño retraso, para que el script llegue a ese punto, espere 3 segundos y luego continúe con el resto del código. La mejor manera en que pensé en hacer esto fue crear una función, a la que podría llamar desde cualquier parte del script.
function startDelay(lengthOfDelay)
{
//code to make it delay for lengthOfDelay amount of time
}
Sin embargo, no puedo encontrar ninguna forma de implementar el código para hacerlo esperar. Eché un vistazo a setTimeout, pero necesitabas codificar la función, lo que no me sirvió de nada.
¿Hay alguna manera de que pueda hacer que el script se detenga por unos segundos? No tengo ningún problema con la congelación de la interfaz de usuario mientras el código está en pausa.
Si no es así, ¿hay alguna forma de que pueda usar PHP sleep () para lograr esto? (Sé que PHP es del lado del servidor y Javascript es del lado del cliente, pero tal vez haya una forma que no conozco).
Acabo de encontrar esta respuesta en otro foro: JavaScript en espera / espera antes de continuar
Gracias por todas sus respuestas.
Ah, sí. Bienvenidos a la ejecución asíncrona.
Básicamente, pausar una secuencia de comandos provocaría que el navegador y la página dejaran de responder durante 3 segundos. Esto es horrible para las aplicaciones web, y por lo tanto no es compatible.
En su lugar, tienes que pensar "basado en eventos". Use setTimeout para llamar a una función después de un cierto tiempo, lo que continuará ejecutando el JavaScript en la página durante ese tiempo.
No es necesario utilizar una función anónima con setTimeout
. Puedes hacer algo como esto:
setTimeout(doSomething, 3000);
function doSomething() {
//do whatever you want here
}
Puedes crear un retraso usando el siguiente ejemplo
setInterval(function(){alert("Hello")},3000);
Reemplace 3000 con # de milisegundos
Puede colocar el contenido de lo que desea ejecutar dentro de la función.