2013-03-27 40 views
0

我想創建一個橫向菜單,這個菜單在主菜單上向下移動鼠標,在鼠標移出時向下移動。jquery菜單向上/向下滑動 - 當鼠標移開時保持子菜單打開?

問題是,如果鼠標從一個菜單項移動到另一個也具有子菜單的菜單項,我希望菜單下的div仍然出現。

這裏是HTML

<div class="menu_it"> 
        <ul> 
         <li id="i1"><a href="#"> 
          program 1 
          </a> 
          <div class="subMenuWrapper"> 
           <ul class="subMenu"> 
            <li> <a href="#"> sub program 1</a></li> 
             <li> <a href="#"> sub program 1</a></li> 
              <li> <a href="#"> sub program 1</a></li> 

           </ul> 
          </div> 
         </li> 
         <li id="i2"> 
          <a href="#"> program 2</a> 

          <div class="subMenuWrapper"> 
           <ul class="subMenu"> 
             <li> <a href="#"> sub program 2</a></li> 
            <li> <a href="#"> sub program 2</a></li> 
            <li> <a href="#"> sub program 2</a></li> 

           </ul> 
          </div> 
         </li> 
         <li id="i3" ><a href="#"> sub program 3</a> 

         </li> 

</ul> 
</div> 
<div class="noti"><span class="text"> 
This is a notification bar This is a notification bar This is a notification bar This is a notification bar This is a notification bar This is a notification bar This is a notification bar 
    </span> 
</div> 

這裏是JS

$('.menu_it > ul li:has(> div ul)').on('mouseenter',function(e) { 
    console.log('in'); 


        $(this).find('div').slideDown('fast'); 
       $('.noti').animate({'margin-top':'41'}); 


      }) 
      .on('mouseleave',function(e) { 
      console.log('out'); 

       $(this).find('div').slideUp('fast'); 
       $('.noti').animate({'margin-top':'0'}); 


      }); 

這裏是我工作的example,我怎樣才能使分度類的NotI猶若從李鼠標移動開放with id 1 ti li with id2

如果有更好的方法來順滑滑動submeu我會非常感激。

回答

1

看到這個:

$('.menu_it > ul li:has(> div ul)').on('mouseenter', function (e) { 

    $(this).find('div').slideDown('fast'); 
    $('.noti').animate({ 
     'margin-top': '41' 
    }); 
}) 
    .on('mouseleave', function (e) { 
    $(this).find('div').slideUp('fast'); 
    if ($('.menu_it > ul li:hover div ul').length != 1) 
     $('.noti').animate({ 
      'margin-top': '0' 
     }); 
}); 

DEMO

+0

它仍然有問題,當我鼠標懸停在子菜單裏,它滑動.noti了! – palAlaa 2013-03-27 08:33:12

+0

現在有什麼問題..? – Anujith 2013-03-27 08:51:13

+0

實際上它不是一個合乎邏輯的問題,當鼠標移過去時,.noti會滑落(不會超過submeu li)。我懷疑這是否對於菜單在邏輯上是正確的? – palAlaa 2013-03-27 08:55:57

相關問題