+ -
当前位置:首页 → 问答吧 → 菜单,请教。

菜单,请教。

时间:2010-04-30

来源:互联网

复制代码
  1. <div  id="firstpane" class="menu_list"><p class="menu_head">菜单1</p>    <div class="menu_body"> <a href="#">子菜单1</a> <a href="#">子菜单2</a> <a href="#">子菜单3</a>    </div> <p class="menu_head">菜单2</p>    <div class="menu_body"> <a href="#">子菜单11</a> <a href="#">子菜单22</a> <a href="#">子菜单33</a>    </div></div>


我这么写JS:
复制代码
  1.             $("#firstpane p.menu_head").click(function()            {                $(this).next("div.menu_body").show();                });            $("#firstpane p.menu_head").mouseover(function()            {               $(this).next("div.menu_body").show();   $(this).css({background:"#2286c6"});                  });            $("#firstpane p.menu_head").mouseout(function()            {               $(this).next("div.menu_body").hide();                });

但现在,鼠标从menu_head移动到menu_body的时候,触发了menu_head 的mouseout事件,menu_body就隐藏了,请教高手,要怎样才能让鼠标可以移动到子菜单上而不隐藏?谢谢~~

作者: baiyuxiong   发布时间: 2010-04-30

这个编辑器怎么自动把换行弄没了?phpwind也太搓了。

作者: baiyuxiong   发布时间: 2010-04-30

你想想看,你要把鼠标放到子菜单上,必须要先移动到这个子菜单的菜单标题上,然后你又为菜单标题写了mouseout事件去隐藏菜单体,你想想看,你这个mouseout事件到底该写在谁上面

作者: ywqbestever   发布时间: 2010-05-01

其实关于这个问题,用mouseout比较不妥,因为这样你要判断鼠标的在不在所选主菜单或子菜单范围内。我的方法是只用mouseover,落在主菜单选项上则show子菜单、屏蔽冒泡,落在子菜单上什么都不做、屏蔽冒泡,落在菜单的容器里则hide子菜单(当然这需要在同时包含两层菜单的容器里来处理)。

作者: jokeykiss   发布时间: 2010-05-05