Java Script eventos de tiempo
Con JavaScript, se puede ejecutar una función con un intervalo de tiempo especificado. Son los eventos de tiempo.
Los dos métodos principales son:
setInterval () - ejecuta una función, una y otra vez, a intervalos de tiempo, especificados en milisegundos (1 segundo = 1000 milisegundos).
setTimeout () - ejecuta una función, una vez, después de esperar el tiempo especificado.
Método setInterval ()
El método setInterval () esperará un número especificado de milisegundos, y luego ejecutar una función específica, y continuará la ejecución de la función, cada intervalo de tiempo.
window.setInterval("function () {mi_funcion()}",milisegundos);
El primer parámetro es una función y el segundo el intervalo de tiempo en milisegundos.
Ejemplo:
var myVar=setInterval(function(){avanza()},5000);
Se ejecuta la función avanza cada 4 segundos.
Método clearInterval ()
Cancela el setinterval
clearInterval(id_of_setinterval)
<button onclick="int=window.clearInterval(myVar)">Stop</button>
Método setTimeout()
Evalua una expresión después de que transcurran un número de milisegundos.
var myVar = window.setTimeout(espresion, milisegundos);
La expresión ejecuta una función y el tiempo en milisegundos.
Ejemplo:
window.setTimeout("alert('Hola, mundo')", 1000);
Con clearTimeout(), puede pararse la ejecución.
Ejemplo:
var myVar;
function myFunction()
{
myVar=setTimeout(function(){alert('Hola, mundo')},3000);
}
function myStopFunction()
{
clearTimeout(myVar);
}
Método setImmediate
Mejora los problemas de usar setTimeout con tiempos muy pequeños, setimmediate se ejecuta cuando se completa el script, no es necesario indicar tiempo.
var handle = setImmediate(alert('Hola, mundo'));
Existen controles de tiempo pensados para realizar animaciones en javascript, como el hmétodo requestAnimationFrame el evento EnterFrame:
http://creativejs.com/resources/requestanimationframe/
http://lib.ivank.net/?p=demos&d=efevents
Date: http://www.w3schools.com/js/js_obj_date.asp