jQuery slideUp 水平菜单代替 slideDown

标签 jquery html css menu

我有这个菜单:

<html>
 <head>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script>
  <script>
   $(function() {
    $("#menu").find("li").each(function() {
     if ($(this).find("ul").length > 0) {
      $(this).mouseenter(function() {
       $(this).find("ul").stop(true, true).slideDown(); 
      }); 
      $(this).mouseleave(function() {  
       $(this).find("ul").stop(true, true).slideUp();  
      });
     }
    });
   });
  </script>
  <style>
   #menu {
    display:block;
    margin:120px auto 20px;
    border:1px solid #222;
    position:relative;
    background-color:#6a6a6a;
    font:16px Tahoma, Sans-serif;
   }  
   #menu ul {
    padding:0;
    margin:0;
   }  
   #menu li {
    position:relative;
    float:left;
    list-style-type:none;
   }  
   #menu ul:after {
    content:".";
    display:block;
    height:0;
    clear:both;
    visibility:hidden;
   }  
   #menu li a {
    display:block;
    padding:10px 20px;
    border-left:1px solid #999;
    border-right:1px solid #222;
    color:#eee;
    text-decoration:none;
   }  
   #menu li a:focus {
    outline:none;
    text-decoration:underline;
   }  
   #menu li:first-child a {
    border-left:none;
   }  
   #menu li.last a {
    border-right:none;
   }  
   #menu a span {
    display:block;
    float:right;
    margin-left:5px;
   }  
   #menu ul ul {
    display:none;
    width:100%;
    position:absolute;
    left:0;
    background:#6a6a6a;
   }  
   #menu ul ul li {
    float:none;
   }  
   #menu ul ul a {
    padding:5px 10px;
    border-left:none;
    border-right:none;
    font-size:14px;
   }

   a:hover {
    cursor: pointer;
   }
  </style>
 </head>
 <body>
  <div id="menu">
   <ul>
    <li>
     <a>Item1</a>
    </li>
    <li>
     <a>Item2</a>
     <ul>
      <li><a href="#">item2-1</a></li>
      <li><a href="#">item2-2</a></li>
      <li><a href="#">item2-3</a></li>
     </ul>
    </li>
   <li>
    <a>Item3</a>
    <ul>
     <li><a href="#">item3-1</a></li>
     <li><a href="#">item3-2</a></li>
     <li><a href="#">item3-3</a></li>
    </ul>
   </li>
   <li>
    <a>Item4</a>
   </li>
  </ul>
 </div>
 <body>
<html>

当光标位于包含 ulli 上时,它会向下滑动。

我希望子菜单在水平菜单上方向上滑动,而不是向下滑动。

我怎样才能做到这一点?

谢谢!

Here's the jsFiddle

最佳答案

#menu ul ul {
    bottom:38px;
} 

设置嵌套列表的底部就可以了

关于jQuery slideUp 水平菜单代替 slideDown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4221529/

相关文章:

javascript - 如何使用下一个/上一个链接循环浏览多个 Bootstrap3 模式

javascript - 文本字段中的描述文本?

jquery - 如何处理不确定数量的 jQuery Promise?

jquery - Detect with JQuery when a select changes

c# - 从 PDF 转换为 HTML

css - 从博客页面/文件链接回来

javascript - 与 jQuery .parents() 选择器相反

javascript - 在滚动 div 的边缘淡化子 flexbox 元素?

jquery - 获取隐藏图像的高度

html - 导航菜单未出现在顶部