Ayer aprendí a modificar una etiqueta de html desde Javascript, me pareció tan interesante que no lo quiero olvidar. Así que voy a hacer un post para volver a verlo cuando quiera recordar como usarlo.😅
Para modificar un media query desde Javascript veremos lo siguiente:
Window.matchMedia() :
El método «Window.matchMedia()» recibe un parámetro tipo texto que indica el media query de el cual vamos a devolver el nuevo objeto.

Método addEventListener() :
El método «addEventListener()» Ejecuta una acción cada ves que es activado, este método tiene 2 parámetros, uno que especifica el tipo de evento y el segundo es una función anónima.

Ejemplo:
Hacer invisible el <nav> cuando la pantalla tenga 1000px mediante javascript.
Para este ejemplo primero vamos a crear la estructura del html.
<!DOCTYPE html>
<html>
<head>
<title>Media Queries - ejemplo</title>
</head>
<body>
<header>
<img width="115" src="bear-5.svg" alt="bear-logo"/>
<nav>
<ul>
<li class="first-li">Inicio</li>
<li>Sobre nosotros</li>
<li>Contacto</li>
</ul>
</nav>
</header>
</body>
<script src="script.js"> </script>
</html>
Ahora del lado de javascript creamos una constante donde guardaremos el nuevo objeto.
const screen = window.matchMedia("(max-width: 1000px)")
Lo siguiente es que el objeto llama al evento y si el evento se activa entonces llega a ejecutase todo lo que hay dentro de la función anónima.
screen.addEventListener("change", function() {
if (screen.matches) {
document.querySelector("nav").style.display = "none";
} else {
document.querySelector("nav").style.display = "block";
}
});
Como extra también le daremos un poco de color con css.
body {
color: white;
font-family: 'Fredoka', sans-serif;
font-family: 'Noto Sans SC', sans-serif;
}
header {
width: 100vw;
background: #ff66c3;
height: 150px;
display: grid;
place-content: end;
}
nav {
width: 100vw;
background: #13d5b8;
padding: 8px;
}
.first-li {
border-left: 1px solid aliceblue;
}
li {
display: inline;
border-right: 1px solid aliceblue;
padding: 0px 8px;
}
Nota: Luego de hacer este ejemplo espabile un poco y note que podía hacer esto mismo con CSS lo cual me parece más fácil.😅
Eso es todo espero no haber cometido errores y si los cometí pueden dejar un comentario para que pueda revisarlo.
Aquí les dejo el enlace al archivo de este pequeño ejemplo.