使用jQuery动画wp_nav_menu

时间:2012-05-18 01:44:38

标签: jquery wordpress drop-down-menu

我一直在试着弄清楚如何让我的下拉菜单用jQuery动画。我正在使用wp_nav_menu和一个简单的脚本,我不知道为什么它不起作用。

这是导航源:

<nav id="topNav">
  <div id="navwrap" class="menu-main-container">
    <ul id="menu-main" class="dropdown">
      <li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-30"><a href="http://www.mysite.com/page1-2/">Page1</a>
        <ul class="sub-menu">
          <li id="menu-item-34" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-34"><a href="http://www.mysite.com/sub-page1-1/">Sub-Page1-1</a></li>
          <li id="menu-item-35" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-35"><a href="http://www.mysite.com/sub-page1-2/">Sub-Page1-2</a></li>
        </ul>
      </li>
      <li id="menu-item-31" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31"><a href="http://www.mysite.com/page2-2/">Page2</a>
        <ul class="sub-menu">
          <li id="menu-item-36" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36"><a href="http://www.mysite.com/sub-page2-1/">Sub-Page2-1</a></li>
          <li id="menu-item-37" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-37"><a href="http://www.mysite.com/sub-page2-2/">Sub-Page2-2</a></li>
        </ul>
      </li>
      <li id="menu-item-32" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-32"><a href="http://www.mysite.com/page3-2/">Page3</a>
        <ul class="sub-menu">
          <li id="menu-item-38" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-38"><a href="http://www.mysite.com/sub-page3-1/">Sub-Page3-1</a></li>
          <li id="menu-item-41" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-41"><a href="http://www.mysite.com/sup-page3-2/">Sup-Page3-2</a></li>
        </ul>
      </li>
      <li id="menu-item-33" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-33"><a href="http://www.mysite.com/page4-2/">Page4</a>
        <ul class="sub-menu">
          <li id="menu-item-39" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-39"><a href="http://www.mysite.com/sub-page4-1/">Sub-Page4-1</a></li>
          <li id="menu-item-40" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-40"><a href="http://www.mysite.com/sub-page4-2/">Sub-Page4-2</a></li>
        </ul>
      </li>
    </ul>
  </div>
</nav>

这是我编写的脚本,用于上下动画隐藏的UL:

<script type="text/javascript">
jQuery(function() {
    jQuery("#navwrap ul.dropdown li").hover(function() {
        jQuery(this).find('ul.sub-menu')
            .stop(true, true).delay(50).animate({ "height": "show", "opacity": "show" }, 200 );
    }, function(){
        jQuery(this).find('ul.sub-menu')
            .stop(true, true).delay(50).animate({ "height": "hide", "opacity": "hide" }, 200 );
    });

});
</script>

有关为什么不起作用的任何建议?我已经在这几个小时了。

2 个答案:

答案 0 :(得分:1)

我必须隐藏并在页面加载时显示子菜单才能让我的下拉列表工作。

$(".sub-menu").hide(); // hide the submenu on page load
$(".current_page_item .sub-menu").show();   

答案 1 :(得分:0)

我用你的代码制作了一个jsfiddle example,它运行正常。 *注意我没有添加任何CSS。

请检查代码中的以下问题:

  1. jQuery是否正确链接。
  2. 检查firebug或chrome inspect元素是否有任何错误。
  3. 检查您的CSS是否有任何覆盖脚本的规则。
  4. 仍然有问题请提供网站链接。

    干杯!!!