Cuando necesitas interactuar con el usuario resulta fundamental manejar el tiempo para que ocurran determinados eventos. En Javascript hay varias funciones para administrar los tiempos y una de ellas es setTimeout.
Esta función, cuando se ejecuta, espera una cantidad de milisegundos hasta que llama otra función. Aquí os dejo un ejemplo con su código para clarificarlo.
Ejemplo
Código fuente del ejemplo