Ich mache Speck Menü für kleine Bildschirme. Ich muss das Menü initialisieren, ohne Menüverknüpfungen anzuzeigen, also verstecke ich sie mit jQuery
. Das Problem ist, dass auf dem großen Bildschirm Menü-Links immer noch versteckt sind und ich möchte nicht, dass das passiert.CSS-Regel für kleinen Bildschirm mit jQuery ändern
Ich benutze diesen Code Menü Link Entfernung auf großen Bildschirmen zu vermeiden, aber es funktioniert nicht:
scripts.js
$(window).resize(function(){
if ($(window).width() > 720){
$('ul.menu').css('display', 'none');
} else {
$('ul.menu').css('display', 'inline-block');
// $(this).toggleClass('is-active');
}
});
//$('ul.menu').css('display', 'none');
$('#menuButton').click(function(){
$(this).toggleClass('is-active');
if ($(this).hasClass('is-active')) {
$('ul.menu').css('display', 'block');
}
else {
$('ul.menu').css('display', 'none');
}
});
SASS
.menu
li
display: block;
text-align: center;
background-color: #fff;
@include media($medium-screen-up)
list-style-type: none
display: inline-block
float: right;
margin: 0 10px 0 10px
@include position(relative, -50px null null null)
background-color: initial;
Verwenden Sie JavaScript nicht die Art zu ändern, je nach Bildschirmgröße, verwenden Sie Medienabfragen. Verstecken Sie Ihr Menü auf kleinen Bildschirmen, aber erzwingen Sie es, wenn der Benutzer auf die Schaltfläche klickt. Sie sollten eine Klasse umschalten, anstatt die Eigenschaft "display" direkt aus dem JavaScript zu ändern. – LeBen