Ich erstelle eine Website und ich möchte ein Menü stylen, das nur eine Möglichkeit zeigt, wenn bei bestimmten px Breite angezeigt wird. Ich werde später den Code ändern, um eine if-Anweisung zu machen, die prüft, ob es ein Touchscreen ist. Aber jetzt muss ich px Breite um den Code zu testen. Obwohl mein aktueller Code eine bestimmte Breite korrekt lädt, nachdem ich zu einer höheren Breite gewechselt habe, fügt er immer noch meine Beschriftung und Eingabe hinzu. My codepenJavascript-Code Hinzufügen von etwas, das nicht dort sein sollte
Mein JavaScript-Code.
var mediaTab = window.matchMedia("(max-width: 1024px)");
function addmenu() {
if (mediaTab) {
var menu = document.querySelector("#top-lvl-menu");
var navBar = document.querySelector("nav");
var navToggle = document.createElement("label");
var navInput = document.createElement("input");
navToggle.innerHTML = "☰ Menu";
navToggle.className = "menu";
navInput.id = "menu-Toggle";
navInput.type = "checkbox";
navToggle.appendChild(navInput);
navBar.insertBefore(navToggle, menu);
navToggle.appendChild(menu);
}
}
window.addEventListener("load", addmenu, false);
<nav>
<ul id="top-lvl-menu">
<li><a href="#">Link</a>
</li>
<li><a href="#">Link</a>
<ul id="services-submenu">
<li><a href="#">Link</a>
</li>
<li><a href="#">Link</a>
</li>
</ul>
</li>
<li><a href="#">Link</a>
</li>
<li><a href="#">Link</a>
</li>
</ul>
</nav>