答案 0 :(得分:2)
让我解释一下,发生了什么。你只是选择了最后创建的div,所以只有那个人去了。
我必须找到所选的.active
和所选的div
以下是示例:
http://jsfiddle.net/JoshuaPack/YFUsJ/23/
在mouseover
我将此页面添加到顶部以更改active
和animation
vars
active = $(this).parent().find('.active');
animation = $(this).parent().find('div');
在mouseout
我添加了这个。
active = $(this).find('.active');
animation = $(this).find('div');
修改强>
对于将班级active
移至其他<li>
个对象的问题,您必须分别为每个<div>
班级附加.active
这是一个例子:
http://jsfiddle.net/JoshuaPack/YFUsJ/31/
我所做的是将动画变量包装成.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);
});
相反或前置<ul>
之前,我做了父母的父母,父母的父母应该总是那里有一个类active
的菜单。