Retrasar el ejecución de una función

Problema:

Introducir un retraso en en la ejecución de una unción o script

Cuando una función se invoca se ejecuta de manera inmediata. Pero puede que eso no nos interese.

Por ejemplo quiero mostrar una ventana modal, pero debe desaparecer al cabo de cierto tiempo.

¿Como puede retrasar la ejecución de una función?

Solución

Se usará el método setTimeOut() que retrasa la llamada a una función

El método setTimeOut(calback, delay, argumentos) permite que la función callback se ejecute al cabo del timepo dado por delay en milisegundos. Se le pueden pasar argumentos.

El argumento callback es el nombre de una función o una definición de función. Por claridad del código es mejor usar un nombre de función, pero puede usarse una definición de función.

Ejemplo

Por ejemplo en este código se abrirá una ventana (alert por simplicidad) cuando el usuario lleve 10 segundos en la página.

window.addEventListener('load', inicio);

function inicio(){

    setTimeOut(()=>alert("llevas 10 segundos en esta página"), 10000)

}

En este ejemplo se ha usado la definición de la función callback, por que es algo muy simple.