Error de JavaScript "no definido" en Firefox

Soy muy nuevo en JS, y entiendo que mi script es probablemente terrible, pero todo funciona bien en Safari y Chrome, pero no en Firefox.

Entre otras cosas, estoy llamando a dos funciones para ocultar y revelar un controller de película Quicktime personalizado colocando una "máscara" sobre la parte superior (sé que un alternar sería una solución más elegante, pero no pude conseguir tal funcionar para trabajar de la manera que yo quería). De todos modos, así es como se ve el Javascript:

function revealControls(){ document.getElementById("controlsCover"); controlsCover.style.display ="none" } function hideControls(){ document.getElementById("controlsCover"); controlsCover.style.display ="block" } 

Llamo a estas funciones con diferentes events de mouse aplicados a varios divs, como:

 <div id = "controls" onmouseout = "hideControls()"> 

Firefox me está diciendo

  "Error: controlsCover is not defined", 

y no tengo idea de cómo definir el elemento como nulo.

Cualquier ayuda sería apreciada. Estoy seguro de que es algo muy simple, pero prácticamente no tengo experiencia con Javascript. Todavía.

4 Solutions collect form web for “Error de JavaScript "no definido" en Firefox”

Primero debe crear la variable controlsCover para referencerla.

La primera vez que utilice document.getElementById("controlsCover") , esto devolverá un elemento HTML que pasará a una variable para usar.

Si eliminas el comentario de console.log, verás qué hay dentro de la variable.

 function revealControls() { var controlsCover = document.getElementById("controlsCover"); /* console.log(controlsCover) */ controlsCover.style.display ="none" } function hideControls() { var controlsCover = document.getElementById("controlsCover"); controlsCover.style.display ="block" } 

Debe asignar el valor de retorno de document.getElementById a la variable controlsCover :

 var controlsCover = document.getElementById("controlsCover"); 

Fijo será:

 function revealControls() { var controlsCover = document.getElementById("controlsCover"); controlsCover.style.display ="none" } function hideControls() { var controlsCover = document.getElementById("controlsCover"); controlsCover.style.display ="block" } 

Prueba esto:

 var ele =document.getElementById("controlsCover"); ele.style.display = "none"; 

Prueba esto:

 function revealControls() { var oControlsCover = document.getElementById("controlsCover"); if (oControlsCover) { oControlsCover.style.display ="none"; } } function hideControls() { var oControlsCover = document.getElementById("controlsCover"); if (oControlsCover) { oControlsCover.style.display ="block"; } } 
  • cómo cancelar la request http usando javascript
  • Configuración del encabezado de autorización en XMLHttpRequest cambia el verbo HTTP
  • JavaScript forEach () El método funciona de manera diferente en Chrome y Firefox
  • Caché de carga de Firefox en iframe dynamic
  • Firefox javascript deja de responder advertencia
  • Firefox o JavaScript, cuente el DOM
  • Error: "Acceso denegado al URI restringido"
  • ¿Cómo puedo desactivar _moz_resizing?
  • ¿Cómo podemos saber si se llama a una function desde la console o desde el código fuente?
  • ¿Cómo usar mouselockAPI?
  • Al presionar enter dentro de un textbox no se activa el evento clickclick del button de enviar en firefox
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.