2017-03-28 13 views
0

私はあなたの助けが必要です。

私のコードで何が問題なのかわかりませんが、最初の読み込みで関数は正しく動作しますが、ウィンドウのサイズを変更すると関数が正しく動作しません。私はまた、ワードプレスのフレームワークを使用してい

var firedData = true; 
    var pcNavigation = function() { 
     $('body').find('.appendNavClick').remove(); 
    }; 

    var appendToggleButton = function() { 
     $('nav').find('a[href^="#toggle"]').remove(); 
     $.each($('.navigation > li'), function(i, value) { 
      if($(value).children('.sub-menu').length == 1) { 
       var styleString = 'style="position: absolute; right: 0; top: 1px; background: #232323;"'; 
       $('<a class="appendNav appendNavClick" href="#toggle" '+ styleString +'><span></span></a>').insertAfter($(value).children('a')); 
      } 
     }); 
    }; 

    var spNavigation = function() { 
     appendToggleButton(); 
     $('body').delegate('#menu-main-navigation li > a[href^="#toggle"]', 'click', function(e) { 
      e.preventDefault(); 
      var self = $(this), 
       nextSelector = self.next(); 
      if(self.parent('li').siblings().find('a[href^="#toggle"]').next().is(':visible')) { 
       self.parent('li').siblings().find('a[href^="#toggle"]').toggleClass('sub-menu-open').next().slideUp(); 
      } 
      self.toggleClass('sub-menu-open'); 
      nextSelector.stop().slideToggle(); 
     }); 
    }; 

    var initResponsive = function() { 
     let getResponsive = $(window).width(); 
     $('.navigation li .sub-menu').removeAttr('style'); 
     if(getResponsive < 767) { 
      spNavigation(); 
     } else { 
      pcNavigation(); 
     } 
    }; 

    initResponsive(); 
    $(window).bind('resize', function() { 
     initResponsive(); 
    }); 

は、ここに私のJSです。

+0

jQuerybind()unbind()機能を使用してこれを解決しましたか?あなたのコンソールに何かエラーがありますか? – Phil

+0

ウィンドウのサイズを変更した後に 'spNavigation()'エラーが出ない –

+0

ウィンドウのサイズを変更した後にjqueryのslideToggle()が動作しません –

答えて

0

は、私はすでにどのようにそれが正常に動作していない機能や

関連する問題