2017-11-16 5 views
1

Ich muss mein Hauptnavigationsmenü ausblenden, wenn der Browser weniger als 768px ist. Funktion löst bei Größenänderung aus. Aber das Navigationsmenü verbirgt sich stattdessen bei 784px. Hier ist der Code:Größe ändern funktioniert nicht richtig

jQuery(window).resize(function(){ 
    var windowSize = jQuery(window).width(); 
    if(jQuery("#main-navigation").css('display') == 'none' && windowSize > 768) { 
     jQuery("nav#main-navigation").css("display", "block"); 
    } 
    if(windowSize < 768) { 
     jQuery("nav#main-navigation").css("display", "none"); 
    } 

}); 
+1

Warum verwenden Sie nicht Medeia Abfrage anstelle von Js-Code? So ungefähr: '@media (max-width: 767px) {# Hauptnavigation {display: none;}}' – Hanif

+0

Nein. Aufgrund einer anderen Funktionalität der Website, diese onresize Anzeigen keine erforderlich ist ... – silvachathura

Antwort

2

Es ist, weil Sie Scrollbar haben. $(window).widht() gibt Ihnen widht ohne Bildlaufleiste zurück. Wenn Sie die Breite mit Scroll-Breite haben möchten, können Sie window.innerWidth

+0

Awesome .. Seine Arbeit, Aber für mein Wissen möchte ich wissen, warum auch Google nicht einmal jquery api nicht widht(). innerWidth zeigt ... – silvachathura

+0

https://github.com/eddiemachado -zz/bones/issues/468#issuecomment-23626238 –

+0

Ich fühle nicht $ (Fenster) .widht() ist ein korrekter Begriff .... innerWidth arbeitete .. thnxx – silvachathura

Verwandte Themen