日期:2014-05-17  浏览次数:20670 次

用Jquery做了个菜单,当菜单的背景是透明图片时,鼠标滑过菜单,菜单会消失?
我在js里写了,<li class="menu">的hover离开的时候删除<ul class="dropmenu">, <a>的hover移入的时候添加<ul class="dropmenu">,最后生成的html结构如下:


<li class="menu">
 <a>
 </a>

 <div>
   <ul class="dropmenu">
     <div>文件</div><ul><li>打开</li><li>保存</li><li>关闭</li></ul><!--菜单1-->
     <div>编辑</div><ul><li>复制</li><li>粘贴</li></ul><!--菜单2-->
     <div>帮助</div><ul><li>索引</li><li>关于..</li></ul><!--菜单3-->
   </ul>
 </div>
</li>


但是如果<ul class="dropmenu">的背景是透明图片,在ie7下鼠标移入<ul class="dropmenu">时,下拉菜单会消失。

我判断可能是因为鼠标移入下拉菜单的透明背景时,ie7认为鼠标其实滑过的是下拉菜单后面的页面。当我把下拉菜单改为白色背景后,菜单就不消失了。请问怎么能保持ie7下的透明背景,鼠标滑过菜单时也不会消失?
------解决方案--------------------
在我看来,以下代码已经满足你的需求了
$(".menu").hover(
  function(){
      //你的菜单 显示功能代码
      $(".dropmenu").show();
  },
  function(){
    //你的菜单 隐藏功能代码
   $(".dropmenu").hide();
  }
);