Foros del Web » Programando para Internet » Javascript »

Optimizar funcion

Estas en el tema de Optimizar funcion en el foro de Javascript en Foros del Web. Hola, como se notara con el siguiente codigo, soy un novato en lo que refiere a javascript Me gustaria saber como puedo hacer para optimizar/acortar ...
  #1 (permalink)  
Antiguo 02/06/2009, 23:09
 
Fecha de Ingreso: mayo-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Pregunta Optimizar funcion

Hola, como se notara con el siguiente codigo, soy un novato en lo que refiere a javascript

Me gustaria saber como puedo hacer para optimizar/acortar este codigo:

Código:
function mostrarReferencia(){
        
        
            if (document.imagenes.cantidad[1].selected) {
                document.imagenes.imagen1.style.display = 'block';
            }
            else {
                document.imagenes.imagen1.style.display = 'none';
            }
            if (document.imagenes.cantidad[2].selected) {
                document.imagenes.imagen1.style.display = 'block';
                document.imagenes.imagen2.style.display = 'block';
            }
            else {
                document.imagenes.imagen2.style.display = 'none';
            }
            if (document.imagenes.cantidad[3].selected) {
                document.imagenes.imagen1.style.display = 'block';
                document.imagenes.imagen2.style.display = 'block';
                document.imagenes.imagen3.style.display = 'block';
            }
            else {
                document.imagenes.imagen3.style.display = 'none';
            }
            if (document.imagenes.cantidad[4].selected) {
                document.imagenes.imagen1.style.display = 'block';
                document.imagenes.imagen2.style.display = 'block';
                document.imagenes.imagen3.style.display = 'block';
                document.imagenes.imagen4.style.display = 'block';
            }
            else {
                document.imagenes.imagen4.style.display = 'none';
            }
            if (document.imagenes.cantidad[5].selected) {
                document.imagenes.imagen1.style.display = 'block';
                document.imagenes.imagen2.style.display = 'block';
                document.imagenes.imagen3.style.display = 'block';
                document.imagenes.imagen4.style.display = 'block';
                document.imagenes.imagen5.style.display = 'block';
            }
            else {
                document.imagenes.imagen5.style.display = 'none';
            }
            if (document.imagenes.cantidad[6].selected) {
                document.imagenes.imagen1.style.display = 'block';
                document.imagenes.imagen2.style.display = 'block';
                document.imagenes.imagen3.style.display = 'block';
                document.imagenes.imagen4.style.display = 'block';
                document.imagenes.imagen5.style.display = 'block';
                document.imagenes.imagen6.style.display = 'block';
            }
            else {
                document.imagenes.imagen6.style.display = 'none';
            }
            if (document.imagenes.cantidad[7].selected) {
                document.imagenes.imagen1.style.display = 'block';
                document.imagenes.imagen2.style.display = 'block';
                document.imagenes.imagen3.style.display = 'block';
                document.imagenes.imagen4.style.display = 'block';
                document.imagenes.imagen5.style.display = 'block';
                document.imagenes.imagen6.style.display = 'block';
                document.imagenes.imagen7.style.display = 'block';
            }
            else {
                document.imagenes.imagen7.style.display = 'none';
            }
            if (document.imagenes.cantidad[8].selected) {
                document.imagenes.imagen1.style.display = 'block';
                document.imagenes.imagen2.style.display = 'block';
                document.imagenes.imagen3.style.display = 'block';
                document.imagenes.imagen4.style.display = 'block';
                document.imagenes.imagen5.style.display = 'block';
                document.imagenes.imagen6.style.display = 'block';
                document.imagenes.imagen7.style.display = 'block';
                document.imagenes.imagen8.style.display = 'block';
            }
            else {
                document.imagenes.imagen8.style.display = 'none';
            }
            if (document.imagenes.cantidad[9].selected) {
                document.imagenes.imagen1.style.display = 'block';
                document.imagenes.imagen2.style.display = 'block';
                document.imagenes.imagen3.style.display = 'block';
                document.imagenes.imagen4.style.display = 'block';
                document.imagenes.imagen5.style.display = 'block';
                document.imagenes.imagen6.style.display = 'block';
                document.imagenes.imagen7.style.display = 'block';
                document.imagenes.imagen8.style.display = 'block';
                document.imagenes.imagen9.style.display = 'block';
            }
            else {
                document.imagenes.imagen9.style.display = 'none';
            }
        }
Desde ya gracias
  #2 (permalink)  
Antiguo 03/06/2009, 00:23
Avatar de KiraSakuya  
Fecha de Ingreso: junio-2009
Mensajes: 67
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Optimizar funcion

Asi de primeras como el numero de imagenes que bloqueas es el mismo que el de la cantidad, ¿no podrias pasar esa cantidad por parametros y hacer un bucle for dentro del if y luego en el el else poner esa variabl concatenada??
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 22:12.