好的,假设我有一个嵌套div构建的导航系统,当我在菜单div上执行鼠标悬停并隐藏子菜单div时,我想显示子菜单div(和子子菜单div)鼠标悬停时的子菜单divs,或者更确切地说,当我将鼠标悬停在不同的菜单div上时。
最好的方法是什么?
到目前为止,这就是我所拥有的:
<script type="text/javascript">
$('.menu').mouseover(function(){
$(this).children(".submenu").each(function(i){
$(this).delay(1000).slideDown("slow");
$(this).mouseover(function(i){
$(this).children(".sub_submenu").each(function(i){
$(this).delay(1000).slideDown("slow");
});
});
</script>
<div id="" class="menu">
menu1
<div id="" class="submenu">
submenu11
<div id="" class="sous_sousmenu">
sub_submenu111
</div>
<div id="" class="sub_submenu">
sub_submenu112
</div>
</div>
<div id="" class="submenu">
submenu12
</div>
</div>
<div id="" class="menu">
<a href="#">menu2</a>
<div id="" class="submenu">
sousmenu21
</div>
<div id="" class="submenu">
submenu22
<div id="" class="sub_submenu">
sub_submenu21
</div>
</div>
</div>
现在,当鼠标悬停在正确的菜单div上时,一切正常(显示子菜单和子子菜单)。 现在,当我对另一个.menu div进行鼠标悬停时,我应该在何时/何时/如何告诉脚本执行所有.submenu和.sub_submenu的slideUp?
由于
答案 0 :(得分:3)
尝试这样的事情(demo):
HTML
<div id="" class="menu">
menu1
<div id="" class="submenu">
submenu11
<div id="" class="submenu">
sub_submenu111
</div>
<div id="" class="submenu">
sub_submenu112
</div>
</div>
<div id="" class="submenu">
submenu12
</div>
</div>
<div id="" class="menu">
<a href="#">menu2</a>
<div id="" class="submenu">
sousmenu21
</div>
<div id="" class="submenu">
submenu22
<div id="" class="submenu">
sub_submenu21
</div>
</div>
</div>
脚本
$('.menu, .submenu').hover(function(){
$(this).children('.submenu').stop(true, true).slideDown("slow");
}, function(){
$(this).children('.submenu').stop(true, true).delay(1000).slideUp("slow");
});