así que tengo una función a la que llamo con onclick="openNav()" desde un elemento html. Esta es mi función:
function openNav() { document.getElementById("nav-drawer").classList.add("nav-drawer-open"); blackout.style.display = "block"; setTimeout(() => { blackout.classList.add("blackout-open"); }, 1); } Esta función funciona. La página también sabe que "blackout" = <div id="blackout"></div> en cualquier momento, por ejemplo, cuando escribo blackout en la consola, me dará el div correcto. Así que asumo que "apagón" debe ser una variable global (probablemente algo así como var blackout = document.getElementById("blackout"); ), pero como escribí esta función hace un tiempo, no recuerdo dónde definí esa variable He buscado en todo mi código y parece que no lo encuentro.
¿Alguien tiene una idea de cómo podría funcionar esto de todos modos, sin que yo defina esta variable manualmente? Todo esto es muy raro para mí.
Los navegadores a veces crean automáticamente var para el elemento con id
Explicado aquí
Entonces, si tiene un elemento con id blackout , algunos navegadores, no sé cuál, crearán un js var con el nombre blackout para llegar a este elemento.
¡Pero no lo uses ! ¡¡Como en algunos navegadores, no funcionará!!
Asegúrese de seleccionar su elemento a mano en algún lugar de su código y no nombre su var igual que la identificación.