problema de jquery mouseleave cuando se mueve demasiado lento
Estoy usando los eventos jQuery mouseenter y mouseleave para deslizar un div hacia arriba y hacia abajo.
Todo funciona bien, excepto el mouseleave, que no parece dispararse SOLO si el mouse se mueve fuera del div con bastante lentitud. Si muevo el mouse a una velocidad relativamente normal o rápida, entonces funciona como se esperaba.
¿Alguien puede explicar esto o proporcionar información sobre cómo solucionar esto?
Código:
$(document).ready(function() {
$('header').mouseenter(function() {
$(this).stop().animate({'top' : '25px'}, 500, function() {
$(this).delay(600).animate({'top' : '-50px'}, 500);
});
}).mouseleave(function(e) {
var position = $(this).position();
if (e.pageY > position.top + $(this).height()) {
$(this).stop().delay(600).animate({'top' : '-75px'}, 500) ;
}
});
});