2016-12-09 13 views
0

私は、次の応答部位を持っていると私は携帯ナビゲーションメニューの問題を抱えている:slideDown&slideUp問題

http://www.endeavor.cl/

ウィンドウのサイズを変更またはモバイルデバイスでそれをロードすると、あなたが持っていますあなたがそれらをクリックするたびにサブメニュー項目を表示するスライドダウンエフェクトを備えたサブメニュー項目を備えたメニュー、およびそれらを再びクリックするか他の場所をクリックすると、サブメニュー項目は、アップ効果。問題は、もう一度ウィンドウのサイズを変更し、再びサブメニュー項目をクリックすると、2回目のクリックを待たずに2つのステップを実行するように表示され、すぐに非表示になります。毎回ウィンドウがあなたのコードは、再びイベントリスナーをリサイズしているためである

$(window).on('load resize', function() { 
 
    if ($(window).width() >= 1000){ 
 
     $("#menu-top").removeClass(); 
 
     $("#menu-top").addClass("desktop"); 
 
    }else{ 
 
     $("#menu-top").removeClass(); 
 
     $("#menu-top").addClass("touch"); 
 
     $("#menu-top.touch .menu-item-has-children a").addClass("primer-boton").css('cursor','pointer'); 
 
     $("#menu-top.touch .sub-menu a").removeClass(); 
 
     $("#menu-top.touch .primer-boton").removeAttr("href"); 
 
     $('#menu-top.touch .menu-item-has-children > .sub-menu').parent().click(function() { 
 
     var submenu = $(this).children('.sub-menu'); 
 
     if ($(submenu).is(':hidden')) { 
 
     $(submenu).slideDown(200); 
 
     } else { 
 
     $(submenu).slideUp(900); 
 
     } 
 
     }); 
 
     
 
    } 
 

 
    });

答えて

0

。 サイズ変更後に2回発生します。最初にメニューを表示し、それを隠す。

resizeonイベントに本当に必要ですか?たぶんちょうどloadがあなたの期待に応えます

+0

私がresizeイベントを取り出すと、メニューのモバイル版は表示されません。 –

+0

いいえ!あなたが正しい!私は実際には、携帯電話のバージョンが既にロードされているので、私はすべてのサイズ変更イベントを必要としないので、サイズ変更イベントは本当に必要はありません。 解決済み。 –

関連する問題