Foros del Web » Programando para Internet » Javascript »

mostrar y ocultar capas ... inconveniente

Estas en el tema de mostrar y ocultar capas ... inconveniente en el foro de Javascript en Foros del Web. buenas gente ... antes que nada, ya se que esto esta en internet, visite muchos sitios para ver como lo hacian, pero no me gusta ...
  #1 (permalink)  
Antiguo 08/04/2009, 11:36
 
Fecha de Ingreso: enero-2009
Mensajes: 24
Antigüedad: 15 años, 3 meses
Puntos: 0
mostrar y ocultar capas ... inconveniente

buenas gente ...

antes que nada, ya se que esto esta en internet, visite muchos sitios para ver como lo hacian, pero no me gusta copiar y pegar el codigo completo, prefiero hacer todo lo que pueda yo y despues pedir que me den una mano, mas que nada para aprenderlo mejor y que me quede gravado de verdad ..

bueno, necesito mostrar y ocultar capas segun valla haciendo click en distintos elementos de una lista ...


Código que tengo hasta ahora:
Ver original
  1. <html>
  2. <head>
  3. <title>sandbox jeje</title>
  4.  
  5. <script language="Javascript">
  6.     function mostrar(nombreCapa)
  7.         {
  8.         document.getElementById(nombreCapa).style.visibility="visible";
  9.         }
  10.     function ocultar(nombreCapa)
  11.         {
  12.         document.getElementById(nombreCapa).style.visibility="hidden";
  13.         }
  14. </script>
  15.  
  16. </head>
  17. <body>
  18.  
  19. <a onclick="mostrar('capa2')" style="cursor:pointer">Capa 1</a>
  20.     <div id="capa2" style="visibility:hidden">Capa 2</div>
  21.  
  22. <a onclick="mostrar('capa4'); ocultar('capa2');" style="cursor:pointer">Capa 3</a>
  23.     <div id="capa4" style="visibility:hidden">Capa 4</div>
  24.  
  25. </body>
  26. </html>


bueno, aclaro que lo estoy haciendo aparte, y despues lo voy a integrar a la lista ...

el problema esta, que con el codigo que tengo ahora, puedo mostrar y oculat solo 2 capas, pero yo necesito hacerlo con 10 capas diferentes ...

bueno, yo se que para hacer que se oculte la capa 3 quiero mostrar la capa 7, necesito un for que valla de 1 a 10 y que valla ocultando las que esten visibles a ecepcion de la numero 7 ...

Código del if:
Ver original
  1. if(nombreCapa = capa[i])
  2.     {
  3.     next;
  4.     }
  5.  
  6.     else
  7.         {
  8.         document.getElementById(nombreCapa).style.visibility="hidden"
  9.         }

pero la verdad, no tengo idea de como agregarlo al codigo que ya hice :S

alguien que le tire un flotador a este que se esta ahogando ??

gracias!

edito!

creo que esto tendria que ir asi ..

Código Js:
Ver original
  1. <script language="Javascript">
  2.     function mostrar(nombreCapa)
  3.         {
  4.         document.getElementById(nombreCapa).style.visibility="visible";
  5.         }
  6.     function ocultar(nombreCapa)
  7.         {
  8.         if(nombreCapa = capa[i])
  9.             {
  10.             next;
  11.             }
  12.  
  13.             else
  14.                 {
  15.                 document.getElementById(nombreCapa).style.visibility="hidden"
  16.                 }
  17.         }
  18. </script>

pero no se como tendria que ir en la parte de los divs :S

Última edición por NannoSt; 08/04/2009 a las 11:48
  #2 (permalink)  
Antiguo 08/04/2009, 12:49
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: mostrar y ocultar capas ... inconveniente

Uhmmm bueno, creo que si llamas a la función ocultar antes de cambiar el estilo de la capa en mostrar, ocultando todas y luego muestras la que deseas es menos complicado no?

En los div`s colocas un enlace que al darle click llame a la función mostrar enviandole el número del div que deseas mostrar.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 08/04/2009, 13:05
 
Fecha de Ingreso: enero-2009
Mensajes: 24
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: mostrar y ocultar capas ... inconveniente

entonces quedaria algo asi ?

Código Js:
Ver original
  1. <script language="Javascript">
  2.     function ocultar(nombreCapa)
  3.         {
  4.         if(nombreCapa = capa[i])
  5.             {
  6.             next;
  7.             }
  8.  
  9.             else
  10.                 {
  11.                 document.getElementById(nombreCapa).style.visibility="hidden"
  12.                 }
  13.         }
  14.  
  15.     function mostrar(nombreCapa)
  16.         {
  17.         document.getElementById(nombreCapa).style.visibility="visible";
  18.         }
  19. </script>

y la parte de los divs

Código capas:
Ver original
  1. <a onclick="ocultar('capa[2]'); mostrar('capa[2]')" style="cursor:pointer">elemento 1</a>
  2.     <div id="capa2" style="visibility:hidden">Capa 2</div>
  3.  
  4. <a onclick="ocultar('capa[4]'); mostrar('capa[4]') " style="cursor:pointer">elemento 3</a>
  5.     <div id="capa4" style="visibility:hidden">Capa 4</div>

recien toy aprendiendo js y se me complica un toquesin, ayer fue la primer clase y solo vimos variables

estarian bien asi ??

gracias por tu respuesta!

Última edición por NannoSt; 08/04/2009 a las 13:25
  #4 (permalink)  
Antiguo 08/04/2009, 13:35
 
Fecha de Ingreso: enero-2009
Mensajes: 24
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: mostrar y ocultar capas ... inconveniente

no me funciona
  #5 (permalink)  
Antiguo 08/04/2009, 13:51
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: mostrar y ocultar capas ... inconveniente

Código html:
Ver original
  1. <script language="Javascript">
  2.     function ocultar()
  3.         {
  4.         for(i=1; i<=10; i++)
  5.                document.getElementById('capa'+i).style.visibility="hidden";
  6.        }
  7.  
  8.    function mostrar(num)
  9.        {
  10.     ocultar();
  11.        document.getElementById('capa'+num).style.visibility="visible";
  12.        }
  13.  
  14. <a onclick="mostrar(1)" style="cursor:pointer">elemento 1</a>
  15.     <div id="capa1" style="visibility:hidden">Capa 1</div>
  16.  
  17. <a onclick="mostrar(2) " style="cursor:pointer">elemento 2</a>
  18.     <div id="capa2" style="visibility:hidden">Capa 2</div>
  19.  
  20. <a onclick="mostrar(3)" style="cursor:pointer">elemento 3</a>
  21.     <div id="capa3" style="visibility:hidden">Capa 3</div>
  22.  
  23. <a onclick="mostrar(4) " style="cursor:pointer">elemento 4</a>
  24.     <div id="capa4" style="visibility:hidden">Capa 4</div>
  25.  
  26. <a onclick="mostrar(5)" style="cursor:pointer">elemento 5</a>
  27.     <div id="capa5" style="visibility:hidden">Capa 5</div>
  28.  
  29. <a onclick="mostrar(6) " style="cursor:pointer">elemento 6</a>
  30.     <div id="capa6" style="visibility:hidden">Capa 6</div>
  31.  
  32. <a onclick="mostrar(7)" style="cursor:pointer">elemento 7</a>
  33.     <div id="capa7" style="visibility:hidden">Capa 7</div>
  34.  
  35. <a onclick="mostrar(8) " style="cursor:pointer">elemento 8</a>
  36.     <div id="capa8" style="visibility:hidden">Capa 8</div>
  37.  
  38. <a onclick="mostrar(9)" style="cursor:pointer">elemento 9</a>
  39.     <div id="capa9" style="visibility:hidden">Capa 9</div>
  40.  
  41. <a onclick="mostrar(10) " style="cursor:pointer">elemento 10</a>
  42.     <div id="capa10" style="visibility:hidden">Capa 10</div>

Prueba de esta forma a ver que tal.
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #6 (permalink)  
Antiguo 08/04/2009, 18:08
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: mostrar y ocultar capas ... inconveniente

Waith waith.... Estas sobre cargando con tanto for loop. Los loops se deben evadir en lo posible. Lo que tienes que hacer es registrar en una variable el último que ha estado visible, de esta manera simplemente escondes el que esta oculto y no vas por ahí escondiendo todo con un loop. Si haces de esta manera que te digo, habrás mejorado el desempeño de tu sitio.
__________________
twitter: @imbuzu
  #7 (permalink)  
Antiguo 09/04/2009, 07:36
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: mostrar y ocultar capas ... inconveniente

Uhm excelente. Muchas Gracias por la aclaración.

Saludos buzu.
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
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 09:46.