2016-10-11 13 views
0

これは基本的には繰り返したいメニュートグル機能ですが、ページを更新しないと目的を達成できません。 .fa-barsをクリックすると、左からメニュー内をスライドする本体にクラス.animateが追加され、メニュー領域外のどこかをクリックするとメニューが隠され、本体からクラス.animateが削除されます。クリックイベントを繰り返すことができません

これは1回しか動作せず、ページを更新します。

この点で任意のヘルプは、私は彼が唯一の体をクリックすると、メニューを閉じたいと思います

jQueryのコード

$(document).ready(function() 
{ 
    $(document).on('click', function() 
    { 
     if($('body').hasClass('animate')) 
     { 
      $('body.animate').on('click', function() 
      { 
        $(this).removeClass('animate'); 
      }); 
     } 
     else 
     { 
      $('.fa-bars').on('click', function() 
      { 
        $('body').addClass('animate'); 
      }); 
     } 
    }); 
}); 

答えて

1

を理解されるであろう。このコードは役立つかもしれない:メニューを閉じるには、本体のメニュー

クリックを開くには、FB-バー上

$(document).ready(function() { 
    $('.fa-bars').on('click', function (evt) { 
     $('body').addClass('animate'); 
     evt.stopPropagation(); 
    }); 

    $('body').on('click', function() { 
     if ($('body').hasClass('animate')) { 
      $('body').removeClass('animate'); 
     } 
    }); 
}); 

クリックして、すでに

+0

おかげユイが​​、そのコードが動作していないを開いた場合、それもトグルしていないですメニュー。 – Raj

+0

編集しました。重複したイベント処理を防ぐためにstopPropagationを追加しました – Akivamu

+0

ありがとう、Huy。それは完全に機能します。 – Raj

関連する問題