mouseover mouseout no funciona animación en múltiples ul

¿Alguien sabe cómo hacer que mi script funcione para múltiples ul?

Por favor, eche un vistazo a mi jsfiddle.
Como puede ver, el script solo funciona para el segundo ul al pasar el mouse.

¡Gracias por adelantado!
Atentamente,
Jonathan

preguntado el 03 de mayo de 12 a las 15:05

1 Respuestas

Así que déjame explicarte lo que estaba sucediendo. solo estaba seleccionando el último div creado, por lo que solo iba ese.

Tuve que encontrar el seleccionado .active y el seleccionado div

He aquí un ejemplo:

http://jsfiddle.net/JoshuaPack/YFUsJ/23/

In mouseover agregué esto en la parte superior para cambiar active y animation vars

    active = $(this).parent().find('.active');
    animation = $(this).parent().find('div');

In mouseout agregué esto

    active = $(this).find('.active');
    animation = $(this).find('div');

EDIT: Por el problema de mover la clase active para otro <li> objetos, tienes que añadir el <div> para cada .active clase por separado Aquí está el ejemplo:

http://jsfiddle.net/JoshuaPack/YFUsJ/31/

Lo que hice fue envolver la variable de animación en un .each

$.each(active, function() {
    var animation = $('<div>').css({
        'position': 'absolute',
        'height': $(this).outerHeight()-1,
        'width': $(this).outerWidth(),
        'marginTop': ($(this).parent().index() * $(this).outerHeight()),
        'borderBottom': '1px solid #000',
        'z-index': -10
    });
    $(this).parent().parent().prepend(animation);
});

En lugar o precediendo a la <ul> como antes, se lo hice al padre del padre que siempre debe estar ahí para un menú con la clase active.

contestado el 03 de mayo de 12 a las 21:05

¡Muchas gracias Josué! Te estás acercando, porque cuando muevo la clase activa a otro ancla, no funciona correctamente. ¿Puedes volver a buscarme? ¡Gracias de antemano! - Jonathan

¡Movimiento inteligente! Gracias por este. - Jonathan

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.