0

ドロップダウンメニューを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>

なぜこれがうまくいかないのかについての提案はありますか? 私は何時間もこれにいました。

4

2 に答える 2

1

ドロップダウンを機能させるには、ページの読み込み時にサブメニューを非表示にして表示する必要がありました。

$(".sub-menu").hide(); // hide the submenu on page load
$(".current_page_item .sub-menu").show();   
于 2012-09-14T21:57:26.970 に答える
0

あなたのコードでjsfiddle の例を作成しましたが、正常に動作しています。*注: CSS は追加していません。

したがって、コード内の次の問題を確認してください。

  1. jQuery が正しくリンクされましたか。
  2. エラーがないか、firebug または chrome inspect 要素をチェックインします。
  3. スクリプトを上書きするルールがないか、CSS を確認してください。

それでも問題が解決しない場合は、サイト リンクを提供してください。

乾杯 !!!

于 2012-05-18T03:34:29.810 に答える