Foros del Web » Programando para Internet » Javascript »

Huecos al ocultar filas en Firefox

Estas en el tema de Huecos al ocultar filas en Firefox en el foro de Javascript en Foros del Web. Hola chicos: Estoy realizando una aplicacion que muestra elementos en una tabla y, dependiendo de lo que elija en un grupo de botones de radio ...
  #1 (permalink)  
Antiguo 19/05/2007, 10:48
Avatar de daniloquispe  
Fecha de Ingreso: mayo-2007
Mensajes: 38
Antigüedad: 17 años
Puntos: 0
Huecos al ocultar filas en Firefox

Hola chicos:

Estoy realizando una aplicacion que muestra elementos en una tabla y, dependiendo de lo que elija en un grupo de botones de radio una de estas filas debe mostrarse u ocultarse. A la fila que quiero mostrar y ocultar le puse el ID "filacosto" (o sea la etiqueta que denota la fila es: <tr id="filacosto">...</tr>).

El código para el boton de radio que oculta la fila es el siguiente:

Código HTML:
<input type="radio" name="opciones" id="opciones" onclick="document.getElementById('filacosto').style.display = 'none'" /> 
Hay un segundo boton de radio que tiene el mismo código en el evento onclick pero asigna "block" a la propiedad "display" del estilo de la fila.

La cosa funciona bien en Internet Explorer, pero en Firefox pasan 2 cosas:
  • Se desajustan los anchos de las celdas, aparecen con el ancho ajustado al texto que contiene cada celda
  • Cuando la fila la oculto (display: none) después de haberla mostrado, en la zona donde se mostraba la fila queda un hueco. Si continuamente muestro y oculto la fila el hueco se va haciendo más grande cada vez.

¿Cómo puedo arreglar esto?
  #2 (permalink)  
Antiguo 19/05/2007, 11:12
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Huecos al ocultar filas en Firefox

Hola daniloquispe

Me parece que en Firefox hay que utilizar table-row en lugar de block

Prueba así, creo que funciona en IE y Firefox:

Código:
document.getElementById('filacosto').style.display = ''
Saludos,
  #3 (permalink)  
Antiguo 19/05/2007, 12:08
Avatar de daniloquispe  
Fecha de Ingreso: mayo-2007
Mensajes: 38
Antigüedad: 17 años
Puntos: 0
Re: Huecos al ocultar filas en Firefox

Hola:

Gracias por respoder tan rápido. Probé con "table-row" pero el efecto es el mismo (huecos y celdas desalineadas).

Probé con "" y, en un primer momento las celdas se siguen viendo chuecas, pero cuando el contenido de las celdas se actualiza se reacomodan los anchos (se sigue viendo chueco por unos instantes porque actualizar el contenido de las celdas demora (se actualiza desde una base de datos mediante AJAX) y el efecto como que no es muy agradable). Y en cuanto a los huecos, éstos se siguen viendo.

Gracias de todos modos, seguiré probando.

Danilo


Cita:
Iniciado por JavierB Ver Mensaje
Hola daniloquispe

Me parece que en Firefox hay que utilizar table-row en lugar de block

Prueba así, creo que funciona en IE y Firefox:

Código:
document.getElementById('filacosto').style.display = ''
Saludos,
  #4 (permalink)  
Antiguo 19/05/2007, 15:41
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
Re: Huecos al ocultar filas en Firefox

pues en mi caso, utilizo algo similar por medio de una funcion, en donde los estilos, ademas del que JAvierB(), ya te puso, tambien le agrego el visibility=hidden...

esta es mi funcion... yo oculto tablas generadas en reportes, asi solo estreso una ves el servidor y ya despues solo voy mostrando cada una de las tablas mediante un boton.... en su caso tu pudieras utilizar tus checkbox
Código PHP:
<script type="text/javascript" language="javascript">
  <!-- var 
cap var ante function Ejemplo(idCapa){ if (document.allcap = eval(idCapa ".style"); if (document.getElementByIdcap = eval('document.getElementById("' dCapa '").style'); if ((cap.visibility == "hidden") || (cap.visibility == "hide"))  {cap.visibility="visible" cap.display=""; } else { cap.visibility="hidden"cap.display="none";}if (ante==null) {ante=cap;} else {if (ante!=cap){ante.visibility="hidden" ante.display="none"ante=cap;} }}//-->
</script> 
en tu ejemplo la mandarias llamar de esta manera

Código:
<input type="radio" name="opciones" id="opciones" onclick="Ejemplo('filacosto') /> 
la e probado en Opera, Netscape, Firefox y Ieplorer... todas funciona perfecto

espero te sirva
suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #5 (permalink)  
Antiguo 24/07/2007, 11:04
Avatar de daniloquispe  
Fecha de Ingreso: mayo-2007
Mensajes: 38
Antigüedad: 17 años
Puntos: 0
Re: Huecos al ocultar filas en Firefox

Hola a todos:

Pasó mucho tiempo desde que entré a este foro. La cuestión de las filas sólo se resolvió a medias porque me salí del trabajo en donde estaba y el proyecto se lo asignaron a otro :S

Bueno, al menos se resolvió lo de las filas chuecas, así que gracias javierB y en general a todos quienes aportaron con respuestas y sugerencias.
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 03:58.