variable no definida en JavaScript [Solucionado]

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: maiku, akodo

Responder
Avatar de Usuario
Juanp_1982
Forista Mayor
Forista Mayor
Mensajes: 913
Registrado: Dom Ago 13, 2006 7:00 am
Ubicación: Toronto, Canada

variable no definida en JavaScript [Solucionado]

Mensaje por Juanp_1982 »

Hola a todos!

estoy usando JavaScript para modificar el estilo de una pagina y me esta costando un poco. El script es muy sencillo, calcula el tamanio de la pantalla del cliente y luego con esos valores calcula el centro (de arriba a abajo) y el tamanio de las celdas (dividiendo el ancho entre el numero de celdas)

Cuando ejecuto esta funcion:

Código: Seleccionar todo

function posision(){
          var clientHeight = window.innerHeight;
          var clientWidth = window.innerWidth;
          var headers = document.getElementsByTagName('th');
          var datas = document.getElementsByTagName('td')
          var posY = 0;
          var posX = 0;
          var i =0;

          clientWidth = window.innerWidth;

          posY = (clientHeight/2) +'px';
          posX = (Math.floor(clientWidth/7)) +'px';

          document.getElementById('DIV').style.position = 'absolute';
          document.getElementById('DIV').style.top = posY;
          for(i=0; i<=7; i++){
                    headers[i].setAttribute('width', posX);
                    datas[i].setAttribute('width', posX);
          }
}
me sale el siguiente error
TypeError: headers is undefined
[Break On This Error] headers.setAttribute('width', posX);


alguien me podria indicar donde esta el error?

Editado -- Sab Sep 10, 2011 4:46 pm --

acabo de modificar la funcion de la siguiente manera

Código: Seleccionar todo

 var clientHeight = window.innerHeight;
          var clientWidth = window.innerWidth;
          var headers = document.getElementsByTagName('th');
          var datas = document.getElementsByTagName('td')
          var posY = 0;
          var posX = 0;
          var i =0;

          clientWidth = window.innerWidth;

          posY = (Math.floor(clientHeight/2)) +'px';
          posX = (Math.floor(clientWidth/7)) +'px';

          document.getElementById('DIV').style.position = 'absolute';
          document.getElementById('DIV').style.top = posY;

                    headers[0].style.width = posX;
                    headers[1].style.width = posX;
                    headers[2].style.width = posX;
                    headers[3].style.width = posX;
                    headers[4].style.width = posX;
                    headers[5].style.width = posX;
                    headers[6].style.width = posX;
                    datas[0].style.width = posX;
                    datas[1].style.width = posX;
                    datas[2].style.width = posX;
                    datas[3].style.width = posX;
                    datas[4].style.width = posX;
                    datas[5].style.width = posX;



//for(i=0; i<=headers.length; i++){datas[i].setAttribute('width', posX);


}

la variable i es la que me esta dando el problema, que tiene de malo???
Última edición por Juanp_1982 el Lun Sep 12, 2011 8:51 am, editado 1 vez en total.
La Hora Mas oscura es una antes de que Amanesca (Anonimo)

Avatar de Usuario
mcun
Administrador
Administrador
Mensajes: 3888
Registrado: Lun Abr 19, 2010 12:30 am
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)
Contactar:

Re: variable no definida en JavaScript

Mensaje por mcun »

me parece que confundes el concepto de array con variables -> headers eso seria un array pero no veo que contenga una matriz
Los programadores de verdad no documentan. La documentación es para los idiotas que no pueden leer un volcado de memoria.

Trusted Network and Developer | Lee el Reglamento !! |WIKI-EL | Twitter @mr_mcun
Debian + TTY | ArchLinux + awesome | openSUSE + Gnome-Shell | Linux User #508809

Avatar de Usuario
akodo
Moderador
Moderador
Mensajes: 1457
Registrado: Mié Nov 28, 2007 8:00 am
Ubicación: En la X del explorer (pulse para llamar)

Re: variable no definida en JavaScript

Mensaje por akodo »

Uno de tantos errores estúpidos que se pasan por alto...

Si i<=7, entonces también accedes a la posición 7 del array (headers[7]) cosa que según parece, no está definida. Lo mismo ocurre con i<=headers.length (en este caso también es 7).
Basta con cambiar la condición a un menor estricto (i<headers.length)
Descargue el gestor de mp3 "Music Manager" -> ([url=http://ctrlalt.iespana.es]mmlf[/url])
Última versión del gestor "Music Manager" -> ([url=http://sourceforge.net/projects/jmusicmanager/]jmmm[/url])

Avatar de Usuario
Juanp_1982
Forista Mayor
Forista Mayor
Mensajes: 913
Registrado: Dom Ago 13, 2006 7:00 am
Ubicación: Toronto, Canada

Re: variable no definida en JavaScript

Mensaje por Juanp_1982 »

Muchas Gracias akodo!!!!!!! solventado!!!!!
La Hora Mas oscura es una antes de que Amanesca (Anonimo)

Responder
  • Temas similares
    Respuestas
    Vistas
    Último mensaje