jquery - 无法使用 jQuery 淡出子菜单

标签 jquery css fadein fadeout submenu

这是我的第一个问题!你肯定会在这方面帮助我。

我正在处理这个水平菜单:

HTML:

<div id="menu">
  <ul>
    <li><a href="#">MENU 1</a>
      <ul>
        <li><a href="#">SUBMENU 1.1</a>
          <ul>
            <li><a href="#">SUBMENU 1.1.1</a></li>
          </ul></li>
        <li><a href="#">SUBMENU 1.2</a></li>
        <li><a href="#">SUBMENU 1.3</a></li>
      </ul></li>
    <li><a href="#">MENU 2</a>
      <ul>
        <li><a href="#">SUBMENU 2.1</a>
          <ul>
            <li><a href="#">SUBMENU 2.1.1</a></li>
          </ul></li>
      </ul></li>          
    <li><a href="#">MENU 3</a></li>         
  </ul>
</div>

CSS:

  body 
  {

    font-family: "calibri";
    margin:0;
    padding: 0;
  }

  #menu
  {
    width: 100%;
    min-width: 400px;
    height: 30px;
    background-color: #222;
  }

  #menu ul 
  { 
    line-height: 30px; 
  }

  #menu ul li 
  {
    list-style: none; 
    float: left; 
    position: relative; 
  }

  #menu ul li a 
  { 
    padding-left: 5px; 
    text-decoration: none; 
    width: 100px; 
    height: 30px; 
    color: white; 
    background-color: black; 
    display: block;
  }

  #menu ul a:hover 
  { 
    background-color: grey; 
  } 

  #menu li ul 
  { 
    display: none;
    position: absolute;
    left: 0px;
    top: 100%;
    padding-top: 3px;
    padding-left: 3px;
    line-height: 20px;
  }

  #menu li ul li a 
  {
    height: 20px;
    font-size: small; 
  }

  #menu li:hover > ul 
  { 
    display: block;
  }

  #menu li ul li a 
  {
    width: 150px;
  }

  #menu li ul li 
  { 
    padding-top: 1px;
  }

  #menu li ul li ul 
  {
    left: 100%; 
    top: 0;
  }

  #menu li:hover > a 
  {
    background-color: grey;
  }

JQUERY:

$(function() {

  $('li > ul').animate({'opacity': 0});

  $('li').hover(function () {
    $(this).find('ul:first').stop().animate({'opacity': 1});
  },function() {
    $(this).find('ul:first').stop().animate({'opacity': 0});
  });

});

如您所见,当选项悬停时淡入淡出效果(不透明度)起作用,但我怎样才能让它淡出呢?我正在使用 IE9。

谢谢!

最佳答案

首先,我做了一个 jsFiddle使用提供的代码。如您所见,它工作得很好,这是因为 jsFiddle 设置为运行 Javascript onLoad。

所以您需要做的是确保您的函数在加载 DOM 后运行,方法是将其包装在如下代码块中:

$(document).ready(function() {
  // Your JS function here

});

关于jquery - 无法使用 jQuery 淡出子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16541611/

相关文章:

javascript - JQuery 更改功能在 safari 浏览器中不起作用

延迟加载后 jQuery 淡入图像

jquery - 在窗口加载时逐渐淡入元素

javascript - 如何使用 JQuery 从相对元素获取 html 文本?

jquery - 聚合/收集 AJAX 请求

html - 制作一个高于宽度且内容居中的响应式矩形

html - FF 中的 Angular mat-tab 和 mat-table 滚动问题

html - 拉伸(stretch)元素以适应容器

javascript - jQuery fadeIn() 具有多个 div 的不同间隔

javascript - 如何在 Javascript 中获取每个月的指定日期?