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"; } } 
  • ¿Los Applets de Java no se pueden comunicar con javascript dentro de Firefox en Mac OS?
  • Deshabilitar la carga de files JavaScript específicos con Firefox
  • ¿Por qué Firefox está solicitando una URL falsa de un src IMG en código JavaScript?
  • Compruebe si un complemento de Firefox 3.5 está habilitado
  • Firefox JavaScript arithmetics performance rareza
  • cómo verificar si un file tiene gzip o no en Firefox / Firebug
  • Error de Firefox 'no se encontró ningún elemento'
  • window.location.href en firefox
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.