Foros del Web » Programando para Internet » Javascript »

AYUDA en contrucción de arrays en javascript

Estas en el tema de AYUDA en contrucción de arrays en javascript en el foro de Javascript en Foros del Web. SALUDOS A TODOS. SOY NOVATO EN LA PROGRAMACIÓN CON JAVASCRIPT. TENGO UNA DUDA RESPECTO AL USO DE document.getElementById(''). SE TRATA DEL SIGUIENTE CÓDIGO: var imagenes ...
  #1 (permalink)  
Antiguo 29/01/2011, 13:49
 
Fecha de Ingreso: enero-2011
Ubicación: Cali
Mensajes: 73
Antigüedad: 13 años, 9 meses
Puntos: 2
Pregunta AYUDA en contrucción de arrays en javascript

SALUDOS A TODOS.

SOY NOVATO EN LA PROGRAMACIÓN CON JAVASCRIPT.

TENGO UNA DUDA RESPECTO AL USO DE document.getElementById('').

SE TRATA DEL SIGUIENTE CÓDIGO:

var imagenes = [document.getElementById('f1'),document.getElementB yId('f2')];

function prueba()
{
alert(imagenes.length);
imagenes[0].style.display = "none";
}


LA FUNCIÓN SE ACTIVA onload. LA ALERTA FUNCIONA BIEN (imagenes.length = 2). PERO NO SÉ POR QUÉ RAZÓN imagenes[0].style.display = "none" NO ME FUNCIONA. TAMBIÉN PROBÉ DE LA SIGUIENTE FORMA PERO NO ME FUNCIONA:

var img = document.getElementById('f1');

function prueba()
{
img.style.display = "none";
}


CÓMO ÚNICO ME FUNCIONA ES:

function prueba()
{
document.getElementById('f1').style.display = "none";
}



PERO DE ESTA ÚLTIMA MANERA CREO QUE NO ME FUNCIONA PARA LA GALERÍA DE IMÁGENES QUE QUIERO CREAR.


LES AGRADEZCO DE ANTEMANO SU AYUDA.
QUE TENGAN BUEN DÍA.

Última edición por gcrlink; 29/01/2011 a las 13:57
  #2 (permalink)  
Antiguo 29/01/2011, 14:01
Avatar de GAST0N  
Fecha de Ingreso: agosto-2010
Ubicación: Buenos Aires
Mensajes: 680
Antigüedad: 14 años, 3 meses
Puntos: 64
Respuesta: AYUDA en contrucción de arrays en javascript

si es un array te falta declarar q es un array por ejemplo

imagenes = new Array();
__________________
Twitter: @GastonArnedo

Muerte a los <tr> y <td>
  #3 (permalink)  
Antiguo 29/01/2011, 14:09
 
Fecha de Ingreso: enero-2011
Ubicación: Cali
Mensajes: 73
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: AYUDA en contrucción de arrays en javascript

Cita:
Iniciado por GAST0N Ver Mensaje
si es un array te falta declarar q es un array por ejemplo

imagenes = new Array();

GRACIAS POR TU PRONTA RESPUESTA GASTON. PERO ME SIGUE SIN FUNCIONAR. LO CAMBIÉ DE LA SIGUIENTE MANERA:

var imagenes = new Array(2)
imagenes[0] = document.getElementById('f1');
imagenes[1] = document.getElementById('f2');

function prueba()
{
alert(imagenes.length);
imagenes[0].style.display = "none";
}


LA ALERTA ME SIGUE FUNCIONANDO PERO LA SEGUNDA INSTRUCCIÓN NO.
¿QUE SERÁ LO QUE ESTOY HACIENDO MAL?

  #4 (permalink)  
Antiguo 29/01/2011, 15:03
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: AYUDA en contrucción de arrays en javascript

Si declaras la variable img como global, a la hora de asignarle el valor no encuentra el elemento #f1 porque todavía no se ha cargado, sin embargo si lo haces dentro de la función sí porque se ejecuta en el onload. O declaras el array dentro de la función o mueves el tag script hasta antes de </body>
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 29/01/2011, 15:06
Avatar de GAST0N  
Fecha de Ingreso: agosto-2010
Ubicación: Buenos Aires
Mensajes: 680
Antigüedad: 14 años, 3 meses
Puntos: 64
Respuesta: AYUDA en contrucción de arrays en javascript

debes recorrer el array con un for

decis q no solo te funciona el alert..

y donde llamas a imagenes[1] ??
__________________
Twitter: @GastonArnedo

Muerte a los <tr> y <td>
  #6 (permalink)  
Antiguo 29/01/2011, 15:34
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: AYUDA en contrucción de arrays en javascript

el problema está en el valor de los elementos del array. los valores pueden estar o no entrecomillados. si no están entrecomillados son de tipo number, de lo contrario si están entrecomillados son de tipo string. la función getElementById() no es numérica pero tampoco puede estar entrecomillada. para resumir la solución es
Cita:
var imagenes = ['f1', 'f2'];
...
document.getElementById(imagenes[0]).style.display = "none";
  #7 (permalink)  
Antiguo 29/01/2011, 15:39
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: AYUDA en contrucción de arrays en javascript

Cita:
Iniciado por IsaBelM Ver Mensaje
el problema está en el valor de los elementos del array. los valores pueden estar o no entrecomillados. si no están entrecomillados son de tipo number, de lo contrario si están entrecomillados son de tipo string. la función getElementById() no es numérica pero tampoco puede estar entrecomillada. para resumir la solución es
Dentro de un array puede haber objetos, booleans, regexps... , que no van entrecomillados y no son de tipo number. El problema no es ese, sino que el elemento no existe en el documento.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #8 (permalink)  
Antiguo 29/01/2011, 15:42
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: AYUDA en contrucción de arrays en javascript

Cita:
Iniciado por _cronos2 Ver Mensaje
Dentro de un array puede haber objetos, booleans, regexps... , que no van entrecomillados y no son de tipo number. El problema no es ese, sino que el elemento no existe en el documento.
Saludos (:
se que puede ir todo eso, pero crees que es importante para el tema que ocupa?? y perdona que te corrija, pero el problema, si que es ese.
edito: tienes razón, puede estar la función getElementById(), es la primera vez que lo veo, y por lo tanto el problema es que el elemento aún no existe. de cualquier modo es una practica que no agiliza ni renderiza el código

Última edición por IsaBelM; 29/01/2011 a las 16:07
  #9 (permalink)  
Antiguo 29/01/2011, 16:12
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: AYUDA en contrucción de arrays en javascript

Cita:
Iniciado por IsaBelM Ver Mensaje
se que puede ir todo eso, pero crees que es importante para el tema que ocupa??
Simplemente te estaba diciendo que no por no ir entrecomillados tenían que ser numbers, que es lo que diste a entender en el otro mensaje o por lo menos lo que entendí yo.
Cita:
Iniciado por IsaBelM Ver Mensaje
y perdona que te corrija, pero el problema, si que es ese.
¿Me puedes explicar qué diferencia hay?
Código Javascript:
Ver original
  1. var img = ['f1','f2'], imagen = document.getElementById(img[0]);
  2. /*   */
  3. var img = [document.getElementById('f1'), document.getElementById('f2')], imagen = img[0];
Cita:
Iniciado por IsaBelM Ver Mensaje
otra solución es llevar el script al final del documento
Cita:
Iniciado por _cronos2
o mueves el tag script hasta antes de </body>
Saludos
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #10 (permalink)  
Antiguo 29/01/2011, 16:17
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: AYUDA en contrucción de arrays en javascript

Cita:
Iniciado por _cronos2 Ver Mensaje
Simplemente te estaba diciendo que no por no ir entrecomillados tenían que ser numbers, que es lo que diste a entender en el otro mensaje o por lo menos lo que entendí yo.
no has leído la edición de mi post y no había leído tu post
  #11 (permalink)  
Antiguo 29/01/2011, 16:54
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años
Puntos: 122
Respuesta: AYUDA en contrucción de arrays en javascript

Tu problema no es de los arrays. El problema es que estas tratando de usar getElementtById antes de que la pagina cargue. Dices que tu función se ejecuta onload, pero el array no. Al momento en que el array se ejecuta los elementos no estan definidos. Esto es lo que te da problemas. Tu array sigue teniendo un length de 2 pero lo mas probable es que sus valores sean undefined:
array(undefined, undefined)

Haz esto:


Código Javascript:
Ver original
  1. function prueba()
  2. {
  3. var imagenes = [document.getElementById('f1'), document.getElementById('f2')];
  4. alert(imagenes.length);
  5. imagenes[0].style.display = "none";
  6. }

Y por favor, deja de escribir todo en mayúsculas!
__________________
twitter: @imbuzu
  #12 (permalink)  
Antiguo 29/01/2011, 17:01
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: AYUDA en contrucción de arrays en javascript

Cita:
Iniciado por buzu Ver Mensaje
Tu problema no es de los arrays. El problema es que estas tratando de usar getElementtById antes de que la pagina cargue. Dices que tu función se ejecuta onload, pero el array no. Al momento en que el array se ejecuta los elementos no estan definidos. Esto es lo que te da problemas. Tu array sigue teniendo un length de 2 pero lo mas probable es que sus valores sean undefined:
array(undefined, undefined)

Haz esto:


Código Javascript:
Ver original
  1. function prueba()
  2. {
  3. var imagenes = [document.getElementById('f1'), document.getElementById('f2')];
  4. alert(imagenes.length);
  5. imagenes[0].style.display = "none";
  6. }
Y por favor, deja de escribir todo en mayúsculas!
pero si quiere que sea global, tiene tres opciones, o usa la manera que indica _cronos2 o la que yo propuese. de la tercera opción no merece la pena, en este caso, comentarla

pd: quiero darte las gracias por tu blog. me has enseñado mucho
  #13 (permalink)  
Antiguo 29/01/2011, 17:06
 
Fecha de Ingreso: enero-2011
Ubicación: Cali
Mensajes: 73
Antigüedad: 13 años, 9 meses
Puntos: 2
Sonrisa Respuesta: AYUDA en contrucción de arrays en javascript

SALUDOS...


GRACIAS A TODOS POR SUS APORTACIONES.

A IsaBelM y a _cronos2 GRACIAS PUES SUS RESPUESTAS ME AYUDARON Y EL CÓDIGO ME FUNCIONÓ. EL MISMO QUEDÓ DE LA SIGUIENTE FORMA:

function prueba()
{
var imagenes = ["f1","f2"];

alert(imagenes.length);
document.getElementById(imagenes[0]).style.display = "none";
}


A GASTON GRACIAS, PERO TODAVÍA SOY NIÑO EN LA PROGRAMACIÓN CON JAVASCRIPT Y NO SÉ MUY BIEN COMO ES QUE PUEDO RECORRER UN ARRAY CON UN for (var=0,var=<??,var++). SI ME PUEDES DAR UNA AYUDITA TE LO AGRADECERÍA MUCHO.


DECIRLES QUE ESTA DUDA COMO ALGUNAS OTRAS QUE TENGO ES POR QUE DISEÑO EN HTML Y CSS, NO TENGO PROBLEMAS CON ESO, PERO EN JS SOY NUEVO. HE CREADO ALGUNOS CÓDIGOS PARA EFECTOS SENCILLOS EN LA WEB COMO MENUS DESPLEGABLES IMÁGENES QUE APARECEN Y DESAPARECEN, RELOJ Y OTRAS COSITAS. PERO LA VERDAD ES QUE QUIERO MEJORAR MUCHO EN ESTPO DE LA PROGRAMACIÓN PARA PÁGINAS WEB.

AHORA MISMO ESTOY DISEÑANDO UNA PÁGINA WEB Y MI REAL INTERÉS ES CREAR UNA GALERÍA DE FOTOS. EN LOS EXTREMOS LE COLOQUÉ LAS TÍPICAS FLECHAS PARA DIRIGIR LA DIRECCIÓN CUANDO EL USUARIO HACE CLICK. Y DE ENTRADA EL VISITANTE VE UNAS 6 IMÁGENES.

YA LOGRÉ HACER GALERÍAS ANTERIORMENTE TAL COMO LA DESCRIBO USANDO EL MÉTODO scrollTop PERO LO QUE PASA ES QUE AL HACER CLICK EN LA FLECHA DESAPARECEN LAS 6 IMÁGENES Y APARECEN 6 NUEVAS. ESTO PORQUE EL DIV TIENE APLICADO UN overflow: hidden. PERO LO QUE REALMENTE QUIERO APRENDER ES HACER QUE LAS IMÁGENES VALLAN PASANDO UNA POR UNA.

SI ALGUNO DE USTEDES TIENE INFORMACIÓN QUE ME AYUDE A LOGRAR ES PROPÓITO SE LO AGRADECERÍA MUCHO. ES MUY IMPORTANTE PARA MÍ QUE LA GALERÍA CONTENGA 6 IMÁGENES DE ENTRADA Y VALLAN VIÉNDOSE LAS OTRAS CADA VEZ QUE SE HAGA CLICK. NO COMO OTRAS GALERÍAS QUE SÓLO TIENEN A LA VISTA UNA SOLA IMAGEN Y SE VAN VIENDO LAS DEMÁS CON EL MISMO MÉTODO.

ESPERO CON ESPERANZA SUS RESPUESTAS. GRACIAS A TODOS DE ANTEMANO.

QUE TENGAS BUEN DÍA !!!
  #14 (permalink)  
Antiguo 29/01/2011, 17:12
 
Fecha de Ingreso: enero-2011
Ubicación: Cali
Mensajes: 73
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: AYUDA en contrucción de arrays en javascript

Cita:
Iniciado por buzu Ver Mensaje
Tu problema no es de los arrays. El problema es que estas tratando de usar getElementtById antes de que la pagina cargue. Dices que tu función se ejecuta onload, pero el array no. Al momento en que el array se ejecuta los elementos no estan definidos. Esto es lo que te da problemas. Tu array sigue teniendo un length de 2 pero lo mas probable es que sus valores sean undefined:
array(undefined, undefined)

Haz esto:


Código Javascript:
Ver original
  1. function prueba()
  2. {
  3. var imagenes = [document.getElementById('f1'), document.getElementById('f2')];
  4. alert(imagenes.length);
  5. imagenes[0].style.display = "none";
  6. }

Y por favor, deja de escribir todo en mayúsculas!


Gracias buzu por tus consejos ::: y disculpen las mayúsculas :::

probé tu código y funciona a la perfección.

No había tomado en cuenta el orden de los códigos respecto al onload de la página.

gracias.
  #15 (permalink)  
Antiguo 29/01/2011, 17:35
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años
Puntos: 122
Respuesta: AYUDA en contrucción de arrays en javascript

Cita:
pero si quiere que sea global,
No, nunca quieres que sea global. Variables globales son del demonio jeje.

Cita:
pd: quiero darte las gracias por tu blog. me has enseñado mucho
Gracias a ti por visitarme ;)

Cita:
Gracias buzu por tus consejos ::: y disculpen las mayúsculas :::
Siempre que se puede hay que ayudar ;)
__________________
twitter: @imbuzu

Etiquetas: arrays
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:42.