2017-09-06 2 views
0

私はモバイルでのみ奇妙な問題が発生しています。 clickには、最初にtoggleが1回発生します。これは、ハンバーガーメニューまたは検索アイコンのいずれかと最初にやり取りするときに必要なものです。FeatherLightライトボックス||モバイルトグルクラスの問題

lightbox(FeatherLight)を開いて閉じた後、元のハンバーガー/検索はclicktoggleで2回発生します。

モバイルメニューと検索アイコンは最初は正常に動作します。しかし、私がFeatherLightとやりとりをするときには、クラスを2回トグルするので、トグルが正しく機能しません。私はevent.preventDefault();を私のクリックハンドラに無駄に追加しました。誰にもアイデアはありますか?ここで

ライトボックスを呼び出して、私のJSです:

$('.cards__inner a').featherlight({ 
      targetAttr: 'href', 
      afterContent: function() { 
      $footer = $('section.lightbox-footer'); 
      $footer.insertAfter('.featherlight-content'); 
      } 
     }); 

そして、私の携帯ナビゲーション:

var $headerMenu = $('.header__menu'), 
    $navigation = $('.navigation'), 
    $navigationOverlay = $('.navigation__overlay'); 

    $headerMenu.on('click', function() { 
     event.stopPropagation(); 
     event.preventDefault(); 

     $('body').toggleClass('noscroll'); 
     $navigation.toggleClass('open'); 
     $navigationOverlay.toggleClass('open'); 
     $(this).toggleClass('open'); 

     // mobile wonkieness 
     height = $(window).height(); 
     $navigation.height(height + 100); 
     $navigationOverlay.height(height + 100); 
    }); 

    $navigationOverlay.on('click', function() { 
     $('body').removeClass('noscroll'); 

     $navigation.removeClass('open'); 
     $navigationOverlay.removeClass('open'); 
     $headerMenu.removeClass('open'); 
    }); 

    // Toggle search box 
    var $searchForm = $('#search-box'), 
     $searchLink = $('.search-link'); 

    $searchLink.on('click', function() { 
     $searchForm.toggleClass('open'); 
     $(this).toggleClass('open'); 
    }); 

私もevent.stopImmediatePropagation();見てきたが、私は、単純な何かが欠けている必要があります。少なくとも私はそう願っています。 Iveはこの設定をしばらく使用して、FeatherLightが使用されて初めて問題が発生し始めました。

どのような考えですか?

あなたはここでそれをオンラインで見ることができます助けをhttp://dose.encryptdesigns.com/

感謝を!

答えて

0

まず、stopImmediatePropagationに電話していません。これで問題は緩和されますが、フェザーライトが開いてから閉じられるときにバインディングコードが現在実行されているという問題は解決しません。何とかそのコードが$('section.lightbox-footer')になければならないようです。 insertAfterは挿入されているもののスクリプトタグを実行します。

関連する問題