2013-07-09 99 views
0

使用jQuery,我想顯示子菜單時,李盤旋,使得添加類:當.nav有ul.submenu和.nav裏盤旋,顯示.submenu並添加類.arrow下降,並再次onmouse出隱藏它。jQuery的秀子菜單和子菜單中是否存在

我的HTML如下:

 <ul class="nav"> 
      <li><a href="#">Home</a> 
      </li> 
      <li><a href="#">Facilities</a> 
       <ul class="submenu"> 
        <li><a href="#">Coaching</a></li> 
        <li><a href="#">Performance Tests</a></li> 
       </ul> 
      </li> 
      <li><a href="#">Trainers</a> 
       <ul class="submenu"> 
        <li><a href="#">Coaching</a></li> 
        <li><a href="#">Performance Tests</a></li> 
       </ul> 
      </li> 
      <li><a href="#">Membership</a> 
       <ul class="submenu"> 
        <li><a href="#">Coaching</a></li> 
        <li><a href="#">Performance Tests</a></li> 
       </ul> 
      </li> 
      <li><a href="#">Schedule</a> 
       <ul class="submenu"> 
        <li><a href="#">Coaching</a></li> 
        <li><a href="#">Performance Tests</a></li> 
       </ul> 
      </li> 
     </ul> 

謝謝...

+0

[輪 - 無需重塑它(http://api.jqueryui.com/menu/ ) – DevlshOne

回答

3
$('ul.nav > li').hover(function() { 
    if ($(this).find('ul.submenu').length > 0) { 
     $(this).find('ul.submenu').show(); 
     $(this).addClass('arrow-down'); 
    } 
}, 
function() { 
    if ($(this).find('ul.submenu').length > 0) { 
     $(this).find('ul.submenu').hide(); 
     $(this).removeClass('arrow-down'); 
    } 
}); 
+0

這是個好...任何方式來增加延遲? –

+0

已更新此代碼以添加我自己的代碼://導航 \t \t \t $('ul.nav> li')。hover(function(){012){if(this).find('ul.submenu')。長度> 0){ clearTimeout($數據(在此, '定時器'。)); $( 'UL',這一點).stop(真,真).slideDown(200); $(本).addClass( 'this-down'); } }, function(){ if($(this).find('ul.submenu').length> 0){.data(this,'timer'的setTimeout($代理(函數(){ $( 'UL',這一點).stop(真,真).slideUp(200); },此),200)); $(本).removeClass( 「箭頭向下」); } }); –

+0

^以上設有一個定時器和一個上下滑動特徵。 –