Cita:
Iniciado por Alexis88 Con el método
hover
y el objeto [URL="http://www.w3schools.com/jsref/jsref_obj_date.asp"][inline]Date[/inline][/URL] te basta. Solo necesitas tomar el tiempo al momento de colocar el cursor del mouse sobre el elemento (primer callback), tomar el tiempo al momento de retirar el cursor del mismo (segundo callback) y restar el último tiempo con el primero.
Código Javascript
:
Ver originalvar time1, time2;
$("#id_elemento").hover(function(){
time1 = new Date().getTime();
}, function(){
time2 = new Date().getTime();
console.log(((time2 - time1) / 1000).toFixed()); //Los segundos transcurridos
});
La división entre 1000 la hago porque el método
getTime
devuelve el tiempo en milésimas de segundo. Con dicha división, el tiempo resultante será expresado en segundos. Si deseas que se visualicen los segundos con milésimas, no apliques el método
toFixed
.
Saludos
Hola gracias por responder tan rápido.
Tengo una duda, bueno te pongo el problema que intento solucionar. Quiero capturar el tiempo que el cursor esta sobre un elemento mientras sigue sobre el. Y con una condición comprobar que el tiempo sobrepasa un limite fijado. Esto lo hago porque tengo un menú de navegación y al pasar sobre un <li> realiza una animación. El problema es que cuando paso muchas veces el cursor y muy rápido el menú se vuelve loco y realiza muchas veces las animaciones.
Con el tiempo de espera intento evitar que ocurra esto.
Pero no consigo encontrar la formula para que funcione con lo que tu me has propuesto.
¿Tienes alguna idea u otra forma de solucionar esto?.
Gracias de nuevo, un saludo.