Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/07/2012, 12:07
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 8 meses
Puntos: 1567
Respuesta: Problemas con mi codigo (mal hecho)

Al parecer lo que querés es que cuando una capa sea visible la otra se oculte, podés hacer algo así
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>mostrar oculta capas</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <style type="text/css">
  7. /*<![CDATA[*/
  8. p{
  9. font-weight: bold;
  10. font-size: 11pt;
  11. width: 180px;
  12. cursor: pointer;
  13. font-family: arial, serif;
  14. padding: 5px;
  15. border: dotted 1px #554F9D;
  16. margin-bottom: 2px;
  17. margin-top: 3px;
  18. background-color:white;
  19. }
  20. #Uno,#Dos,#Tres{
  21. width: 180px;
  22. font-family: arial, serif;
  23. padding: 15px 5px;
  24. border: dotted 1px #554F9D;
  25. background-color:#A3AD76;
  26. font-size: 10pt;
  27. margin-top: 3px;
  28. margin-bottom:20px;
  29. }
  30.  
  31. #Uno{
  32. display: block;
  33. }
  34.  
  35. #Dos, #Tres{
  36. display: none;
  37. }
  38.  
  39. /*]]>*/
  40. <script type="text/javascript">
  41. //<![CDATA[
  42. function contenido(cual){
  43. var capas = new Array("Uno", "Dos", "Tres");
  44. var anterior;
  45. var i;
  46. var e;
  47.  
  48.     for(i in capas){
  49.     e = document.getElementById(capas[i]);
  50.         anterior = e.previousSibling;
  51.         while(anterior && anterior.nodeType != 1){
  52.         anterior = anterior.previousSibling;
  53.         }
  54.     capas[i] == cual?e.style.display='block':e.style.display='none';   
  55.  
  56. }
  57. }
  58. //]]>
  59. </head>
  60.  
  61. <div id="Uno">Texto uno</div>
  62.  
  63. <div id="Dos">Texto dos</div>
  64.  
  65. <div id="Tres">Texto tres</div>
  66.  
  67. <p onclick="contenido('Uno')" >uno</p>
  68. <p onclick="contenido('Dos')" >dos</p>
  69. <p onclick="contenido('Tres')" >tres</p>
  70. </body>
  71. </html>

En el ejemplo, usé párrafos en lugar de imágenes, pero es lo mismo, el parámetro que se pasa a la función es el id de la capa que debe mostrarse (las otras las oculta)
Por defecto, la capa uno está visible. Si querés preservar el espacio generado por el alto de las capas, usá la propiedad visibility y no la propiedad display.
Una sugerencia final, si usás eventos de javascript, es redundante e innecesario usar el pseudoprotocolo javascript, eso en todo caso cuando llamas una función en un <a href="javascript...">xxx</a

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.