personalmente me gusta el "hoverIntent" plugin:
http://cherne.net/brian/resources/jquery.hoverIntent.html
de la página: hoverIntent es un plugin que intenta determinar la intención del usuario ... como una bola de cristal, solamente con el ratón ¡movimiento! Funciona como (y se derivó de) el vuelo estacionario integrado de jQuery. Sin embargo, en lugar de llamar inmediatamente a la función onMouseOver, espera hasta que el mouse del usuario se desacelere lo suficiente antes de realizar la llamada.
¿Por qué? Para retrasar o evitar el disparo accidental de animaciones o llamadas ajax. Los tiempos de espera simples funcionan para áreas pequeñas, pero si su área objetivo es grande, puede ejecutarse independientemente de la intención.
var config = {
sensitivity: 3, // number = sensitivity threshold (must be 1 or higher)
interval: 200, // number = milliseconds for onMouseOver polling interval
over: makeTall, // function = onMouseOver callback (REQUIRED)
timeout: 500, // number = milliseconds delay before onMouseOut
out: makeShort // function = onMouseOut callback (REQUIRED)
};
$("#demo3 li").hoverIntent(config)
Opciones de configuración
sensibilidad: Si el ratón viaja menos de este número de píxeles entre los intervalos de sondeo, entonces la función "sobre" se llamará. Con el umbral de sensibilidad mínimo de 1, el mouse no debe moverse entre los intervalos de sondeo. Con umbrales de sensibilidad más altos, es más probable que reciba un falso positivo. Sensibilidad predeterminada: 7
intervalo: El número de milisegundos transcurren entre la lectura/comparación de las coordenadas del mouse. Cuando el mouse del usuario ingresa primero al elemento, se registran sus coordenadas. Lo más pronto que se puede llamar a la función "sobre" es después de un único intervalo de sondeo. Establecer el intervalo de sondeo más alto aumentará la demora antes de la primera posible "sobre" llamada, pero también aumenta el tiempo hasta el próximo punto de comparación. Intervalo predeterminado: 100
sobre: Requerido.La función a la que desea llamar en MooOver. Su función recibe los mismos objetos "este" y "evento" que de jQuery.
tiempo de espera: Un simple retraso, en milisegundos, antes de llamar a la función "salir". Si el usuario retrocede el elemento antes de que expire el tiempo de espera, no se llamará a la función "out" (ni se llamará a la función "over"). Esto es principalmente para proteger contra las trayectorias de mouse descuidado/humano que temporalmente (y sin querer) sacar al usuario del elemento objetivo ... dándoles tiempo para regresar. Tiempo de espera predeterminado: 0
out: Requerido. La función a la que le gustaría llamar en MoverOut. Su función recibe los mismos objetos "este" y "evento" que de jQuery. Nota, hoverIntent solo llamará a la función "salir" si se ha llamado a la función "sobre" en la misma ejecución.
$ (this) .data? ¡Parece que tengo algo que leer! –
+1 por hoverIntent! – alex
Esta debería ser la primera respuesta. – Ronan