2017-06-17 3 views
0

In meinem Fall habe ich ein einfaches Header-Menü, in dem 2 der li Tags ein Untermenü haben. Ich möchte toggleClass nur auslösen, wenn die Bildschirmbreite niedriger als 992px ist. Versucht mit if($(window).width() > 992) aber ohne Ergebnis.Navbar-Element nur bei geringerer Breite umschalten jQuery

function fetchMenu(e) { 
    var $elem = $('#'+e.id); 
    var $sub_menu = $elem.find('.sub-menu'); 
    $sub_menu.toggleClass('visible-class'); 
    return false; 
} 

Vielen Dank im Voraus!

Ich habe es geschafft! Sie wissen nicht, ist es der richtige Weg, aber es funktioniert für mich :)

$(function() { 
    $('.menu-item-custom').on('click', function() { 
     if($(window).width() < 992){ 
      var $elem = $(this); 
      var $sub_menu = $elem.find('.sub-menu'); 
      $sub_menu.toggleClass('visible-class'); 
      return false; 
     } 
    }); 
}); 

Antwort

1

können Sie versuchen, mit

$(window).resize(function(){ 
    if (screen.width < 922) { 
    //your function here 
    } 
    else { 

     // another function here 
    } 
     }); 

Sie auch verwenden if (screen.width < 922) müssen, wenn das Dokument laden, wenn der Bildschirm zu erfassen, Größe ist weniger als 922, wenn das Dokument Last

+0

'Screen.width' gibt immer 1920 zurück. Ich schätze, es gibt immer die Breite meines Monitors zurück, aber wenn ich mich entschließe, den Browser zu skalieren, gibt er mir wieder 1920 zurück :) Wird den Beitrag aktualisieren, um zu sehen, wie ich es gemacht habe. –

1

Oder Sie können es mit CSS

@media screen and (min-width: 992px) { // add your class here }

+1

Er hat kein CSS gefunden er sucht eine Jquery-Lösung –

+0

"Oder" .. es ist eine Option – Jonathan

Verwandte Themen