Foros del Web » Programando para Internet » Javascript »

problema con array y función

Estas en el tema de problema con array y función en el foro de Javascript en Foros del Web. Hola a todos! Pues tengo un problema con un array y no consigo solucionarlo. Tengo un nivel muy básico, asi que el problema debe ser ...
  #1 (permalink)  
Antiguo 20/01/2011, 13:13
 
Fecha de Ingreso: julio-2010
Mensajes: 4
Antigüedad: 13 años, 9 meses
Puntos: 0
problema con array y función

Hola a todos!
Pues tengo un problema con un array y no consigo solucionarlo. Tengo un nivel muy básico, asi que el problema debe ser fácil de solucionar!

en el window.onload le paso un array con los nombres de distintos div's y la función debería mostrar el primer valor del array y ocultar los demás.

Pero no funciona y estoy cansado de probar probar sin encontrar el error. Alguien tiene una idea?? GRACIAS!!!

function muestra_oculta(){

for (i=0; i<25; i++){

if i = 0 then{
var el = document.getElementById(oculta[0]);
el.style.display = (el.style.display == 'block');

else
var el = document.getElementById(oculta[i]);
el.style.display = (el.style.display == 'none');

}
}
}

window.onload = function(){
var oculta = new Array['a','b','c','d'];
muestra_oculta(oculta);
}
  #2 (permalink)  
Antiguo 20/01/2011, 13:30
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: problema con array y función

then no es una palabra reservada en javascript, el bloque de else no está definido:

Código Javascript:
Ver original
  1. if (boolean_expression) {
  2.     //true block
  3. }else{
  4.    //false block
  5. }
  6.  
  7. //simple sin llaves:
  8. if (boolean_expression)
  9.     //true line 1 linea
  10. else
  11.     //false line 1 línea
  12.  
  13. //operador ternario:
  14.  
  15. var result = (boolean_expression) ? true_part : false_part;
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 20/01/2011, 13:42
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: problema con array y función

se nota que vienes de asp. te muestro todos los errores
Cita:
function muestra_oculta(){

for (i=0; i<25; i++){

if i = 0 then{ // te lo ha explicado maycolalvarez
var el = document.getElementById(oculta[0]);
el.style.display = (el.style.display == 'block'); // no recuerdo el nombe de esta estructura de condicional, pero está mal contruida

else // te faltan llaves de apertura y cierre
var el = document.getElementById(oculta[i]);
el.style.display = (el.style.display == 'none');

}
}
} // te sobra esta llave

window.onload = function(){
var oculta = new Array['a','b','c','d']; // está mal construido
muestra_oculta(oculta); // no puedes pasar un array como parámetro. aparte después no lo recoges
}
  #4 (permalink)  
Antiguo 21/01/2011, 01:58
 
Fecha de Ingreso: julio-2010
Mensajes: 4
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: problema con array y función

Ante todo, muchas gracias a IsabelM y maycolalvarez por vuestra rápida respuesta.
he aplicado vuestros consejos pero aún tengo un par de dudas para que funcione.

Por el momento he quitado el then, he quitado las llaves en el if y en el arrray he cambiado [ ] por ( ).

Ahora bien, mi pregunta és:
-Como puedo pasar el arrray oculta y todos sus valores, a la función muestra_oculta? Es que creo que el problema debe estar ahí!

MUCHAS GRACIAS DE NNUEVO!


function muestra_oculta(){

for (i=0; i<25; i++){

if i = 0
var el = document.getElementById(oculta[0]);
el.style.display = (el.style.display == 'block'); // no recuerdo el nombe de esta estructura de condicional, pero está mal contruida

else // te faltan llaves de apertura y cierre
var el = document.getElementById(oculta[i]);
el.style.display = (el.style.display == 'none');

}
}

window.onload = function(){
var oculta = new Array['a','b','c','d'];
muestra_oculta(oculta); // no puedes pasar un array como parámetro. aparte después no lo recoges
}
  #5 (permalink)  
Antiguo 21/01/2011, 07:28
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: problema con array y función

el problema es que no has corregido nada. había algunos errores mas. estudia los cambios
Cita:
var oculta = new Array('a','b','c','d');
function muestra_oculta(){

for (i=0; i<25; i++){

if (i == 0) {
var el = document.getElementById(oculta[i]);
el.style.display = (el.style.display == 'none') ? 'none' : 'block'; // no recuerdo el nombe de esta estructura de condicional, pero está mal contruida

} else { // te faltan llaves de apertura y cierre
var el = document.getElementById(oculta[i]);
el.style.display = (el.style.display == 'none') ? 'none' : 'block';

}
}
}

window.onload = function(){
muestra_oculta(); // no puedes pasar un array como parámetro. aparte después no lo recoges
}

Etiquetas: Ninguno
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 19:27.