2010-10-02 64 views
4

好吧,讓我們說我有一個導航系統構建嵌套divs,我想顯示子菜單div(和子子菜單divs)當我做一個鼠標懸停在菜單div和隱藏子菜單div(和sub-sub-menu divs),或者更確切地說,當我將鼠標懸停在不同的菜單div上時。如何在JQuery中上傳(隱藏)children divs?

什麼是最好的方法?

到目前爲止,這裏是我得到了什麼:

<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> 

現在,一切工作(顯示子菜單和子子菜單)當我將鼠標放置到適當的菜單股利。 現在,當我做一個不同的.menu div的鼠標懸停時,我該怎麼告訴腳本做所有.submenu和.sub_submenu的滑動?

感謝

+0

你有沒有想過使用快魚插件? http://users.tpg.com.au/j_birch/plugins/superfish/ – Mottie 2010-10-02 20:46:00

回答

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"); 
}); 
+0

親愛的fudgey,你搖滾! – more 2010-10-02 21:18:21

+0

現在,唯一還在困擾着我的是「.sub-submenu」必須有自己的類...有沒有比將腳本分成兩部分更好的方法(一個副本用於菜單和子菜單,一個副本用於子菜單和子菜單)? – more 2010-10-02 21:27:07

+0

Doh!忘了吧,我只是簡單地將「.sub_submenu」類添加到腳本中...

 $('.menu, .submenu').hover(function(){ $(this).children('.submenu, .sub_submenu').stop(true, true).slideDown("slow"); }, function(){ $(this).children('.submenu, .sub_submenu').stop(true, true).delay(1000).slideUp("slow"); }); 
more 2010-10-02 21:35:30