2016-12-27 8 views
2

私はthisワードプレステーマを使用しています。 同じページのセクションに直接リンクするカスタムメニュー項目をいくつか作成しました。これらのケースでは、< li>アイテムがクリックされたときに、メニュー全体をアントグルしたいと思います。これは私が取り組んでいるコードです。今のWordpressクリック後のテーマメニューを閉じる

jQuery(document).ready(function($) { 

    $('#menu-main li a').on("click", function(){ 
     $('.site-overlay-wrapper').hide(); 
    }); 

}); 

は、このコードは唯一のオープンメニューが非表示になり、メニューボタンはリセットされません。また、メニューを再OPEすることはできません。このコードが正しいかどうか教えてください。

SOLUTION

jQuery(document).ready(function($) { 

    $('#menu-main li a').on("click", function(){ 
     $("body").removeClass("overlay-open"); 
    }); 

}); 

すべてのいただきありがとうございます:)

答えて

0

このヘルプを?あなたはまた、$('#menu-main li a')に問題を持つことができ

jQuery(document).ready(function($) { 
 
     var t = true; 
 
     $('#button').on("click", function(){ 
 
      if(t===true){ 
 
       $('.show').hide(); 
 
       $(this).text("SHOW"); 
 
       t=false; 
 
      } 
 
      else{ 
 
       $('.show').show(); 
 
       $(this).text("HIDE"); 
 
       t=true; 
 
      } 
 
     }); 
 
    
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button type="button" id="button">CLICK</button> 
 
<div class="show">HAPY NEW YEAR!!!</div>

:ここ

jQuery(document).ready(function($) { 
    var t = true; 
    $('#menu-main li a').on("click", function(){ 
     if(t===true){ 
      $('.site-overlay-wrapper').hide(); 
      t=false; 
     } 
     else{ 
      $('.site-overlay-wrapper').show(); 
      t=true; 
     } 
    }); 

}); 

は実施例です。タグが間違っているli内のaタグのメニューを非表示にするため、ボタンをクリックすると直接ボタンをクリックする必要があります。

+0

しようとしていただきありがとうございます!しかし、このコードはメニューを隠すだけですが、メニューボタンをリセットすることはありません。メニューを再オープンすることはまだできません。私はおそらく私が間違ったクラスを使って隠れていると思う。 – Fjott

+0

'$( '#menu-main li a')'はあなたの問題だと思います。その 'a'タグは間違っています。任意の 'li'の中の' a'タグにメニューを隠すので、ボタンをクリックするためにstatemantをクリックする必要があります –

+1

私は実際の例で私の投稿を更新します。 –

2

jQuery .toggle()メソッドを試すことができます。

変更この行:

$('.site-overlay-wrapper').hide(); 

へ:

$('.site-overlay-wrapper').toggle(); 
関連する問題