2012-07-17 76 views
1

我有这样的菜单: http://tabletest.orgfree.com/效果基本show在导航菜单中不工作

为此我使用此功能:

function mainMenu(){ 
      (function($){ 

       //cache nav 
       var nav = $("#nav"); 

       //add indicator and hovers to submenu parents 
       nav.find("li").each(function() { 
        if ($(this).find("ul").length > 0) { 
         //$("<span>").text("^").appendTo($(this).children(":first")); 
         //show subnav on hover 
         $(this).mouseenter(function() { 
          $(this).find("ul").stop(true, true).slideDown(); 
         }); 
         //hide submenus on exit 
         $(this).mouseleave(function() { 
         $(this).find("ul").stop(true, true).slideUp(); 
         //alert("this is an alert!"); 
         }); 
        } 
       }); 
      })(jQuery); 
      }; 

的了slideDown的伟大工程,但效果基本show不会工作,我不明白为什么,如果任何人都可以帮助我。

谢谢。

+2

你能对HTTP POST完整代码:// WWW .jsfiddle.net – SVS 2012-07-17 07:37:31

+0

@SVS我已经发布了菜单链接......可以用萤火虫或其他方式进行检查。或者你可以保存html页面并验证mainMenu.js。我会尝试创建一个小提琴,但不是那么简单... – mcmwhfy 2012-07-17 07:44:17

回答

3

它在你的CSS中。菜单放置在视野之外。删除'left:-999em;'声明从#nav李UL:

#nav li ul { 
    position: absolute; 
    left: -999em; <--- REMOVE THIS 
    height: auto; 
    width: 14.4em; 
    font-weight: normal; 
    margin: 0; 
} 

此外,从内联样式删除:

<ul style="left:-999em" id="matrix"> 

看到它正常工作:http://jsfiddle.net/c_kick/tsLPT/1/

+0

哇谢谢了很多! – mcmwhfy 2012-07-17 08:36:19

+1

没问题!原文可能有'.css({left:auto})';'在UL元素上.. – 2012-07-17 08:39:45