2011-07-20 21 views
6

Estoy usando la función animate() para cambiar la posición de fondo de un botón al pasar el mouse, el problema es que en lugar de 'animar' solo espera la duración (500) y se mueve a la nueva posición de fondo, sin una transición suave.jQuery animado, no anima

$('.confirm').hover(function() { 
    $(this).animate({backgroundPosition: '0, -40px'}); 
}, function() { 
    $(this).animate({backgroundPosition: '0, 0'}); 
}); 

Esa es la JS que estoy usando. ¿Alguna idea de por qué no está haciendo una transición sin problemas? Está actuando como un tiempo de espera. Tengo jQuery y UI definidos.

Gracias!

+0

ejecutar este por encima de '$ (this) .animate();', 'console.log ($ (esto)); '¿qué devuelve' $ (this) '? – Seth

+0

[] – dzm

Respuesta

-1

trate de tomar la sección de animación de la devolución de llamada. Y llamarlo de forma asíncrona, pero con un .delay (500) antes.

+1

¿Cómo se suponía que eso ayudaría? – Ivan

+1

@Drake es siempre una buena práctica para apoyar su argumento/respuesta/sugerencia con una pieza/fragmento de código para que quede claro para todos los demás ... – Rafay

Cuestiones relacionadas