Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/02/2011, 06:51
Oasis8
 
Fecha de Ingreso: septiembre-2010
Ubicación: Malaga
Mensajes: 47
Antigüedad: 14 años, 4 meses
Puntos: 1
Problemas con divs apilados

El problema que tengo es que si defino en css los div con display:none, despues no puedo cambiarlo de ningun modo. La soluciones que he encontrado es usar la propiedad visibility, o quitando el display del css y asignarle esa propiedad al inicio de la pagina con js.

¿ Alguna luz de porque cuando se pone el display:none en css, no hace caso cuando se intenta cambiar con js ?

Dejo aqui un exctracto de codigo deonde he aislado el problema
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4.  
  5.  
  6. #div1 {
  7.     z-index:1;
  8.     width:600px;
  9.     height:400px;
  10.     background:#fffcd1;
  11.     color:#444;
  12. }
  13.  
  14. #div2 {
  15.     position: absolute;
  16.     z-index:2;
  17.     top:50px;
  18.     left:50px;
  19.     width:400px;
  20.     height:200px;
  21. //  display:none;
  22.     background:red;
  23.     color:#444;
  24. }
  25.  
  26. #div3 {
  27.     position: absolute;
  28.     z-index:3; 
  29.     top:100px;
  30.     left:100px;
  31.     width:200px;
  32.     height:100px;
  33. //  display:none;
  34.     background:blue;
  35.     color:#444;
  36. }
  37.  
  38.  
  39.  
  40. function cambia(id) {
  41.  
  42.   var fila = document.getElementById(id);
  43.   if (fila.style.display != "none") {
  44.     fila.style.display = "none"; //ocultar fila
  45.   } else {
  46.     fila.style.display = ""; //mostrar fila
  47.   }
  48.  
  49. }
  50.  
  51. function inicio() {
  52.  
  53.     document.getElementById("div2").style.display = "none";
  54.     document.getElementById("div3").style.display = "none";
  55.  
  56. }
  57.  
  58.  
  59. </head>
  60.  
  61. <body onload="javascript:inicio()">
  62.  
  63. <div id='div1'>
  64. aaaaaaaa1111
  65. </div>
  66.  
  67. <div id='div2'>
  68. aaaaaaaa222222222
  69. </div>
  70.  
  71. <div id='div3'>
  72. aaaaaaaa3333333333
  73. </div>
  74.  
  75. <a href='javascript:cambia("div2")'>Mostras/ocultar el 2</a><br>
  76. <a href='javascript:cambia("div3")'>Mostras/ocultar el 3</a><br>
  77. </body>
  78. </html>