Estoy usando jQuery para animar un cambio de altura al desplazar el mouse().La animación de jQuery dentro del control deslizante() solo se activa en la segunda vez
Al pasar el mouse, se aplicará una clase .hover, y al hacer clic, alternará una clase .expanded. En su mayoría funciona, con la animación adecuada, pero solo después de la primera vez. La primera vez que se pase el mouse saltará la animación por completo.
Estoy confundido - aquí está el código erróneo:
$('#expandingbox').hover(
/*on mouseenter, if not expanded, add hover class*/
function() {
if (!$(this).hasClass("expanded")) {
$(this).stop(true, true).addClass("hover", "slow");
}},
/*on mouseout, if not expanded, remove hover class*/
function() {
if (!$(this).hasClass("expanded")) {
$(this).stop(true, true).removeClass("hover", "slow");
}
}).click(function() {
$(this).toggleClass("expanded", "slow");
});
He encontrado en alguna parte que la adición de $ ('# expandingbox') del gatillo ('mouseout') van a resolver ese problema, pero no lo hizo. trabaja para mi. Y aquí es un ejemplo que reproduce el problema: http://jsfiddle.net/Qc42v/
ACTUALIZACIÓN: envió el ticket, y resulta que es un error jQuery. El mismo código funciona con jQuery 1.5 (y la última versión de jQuery UI).
¿Ha considerado usar el [animate] (http://api.jquery.com/animate/)? – ngen
@ngen Creo que debería ir con lo que funciona, usaré animate() por ahora y archivaré un error, como sugirió @pixelfreak. – joseph