Foros del Web » Programando para Internet » Javascript »

Mostrar capas que expanden una tabla

Estas en el tema de Mostrar capas que expanden una tabla en el foro de Javascript en Foros del Web. Hola! Estoy haciendo una capa para mostrar una parte de un formulario al clicar en un radio button. Lo que muestro es una div y ...
  #1 (permalink)  
Antiguo 01/11/2005, 16:10
 
Fecha de Ingreso: noviembre-2005
Mensajes: 2
Antigüedad: 18 años, 5 meses
Puntos: 0
Pregunta Mostrar capas que expanden una tabla

Hola!

Estoy haciendo una capa para mostrar una parte de un formulario al clicar en un radio button. Lo que muestro es una div y dentro hay una tabla. Quiero que cuando no se muestre no ocupe espacio en el diseño. Q no quede un hueco vacio. Debería expandirse la tabla que contiene todo al clicar y el radio button. Pero no me reconoce que la capa esté dentro de esa tabla y lo que hace es mostrar el nuevo contenido móntandose sobre lo que ya tengo. Os paso la estructura html:
[CODE]
<table width="100%" border="0" cellpadding="0" cellspacing="10" bgcolor="#99FF99">
<tr>
<td><div id="Layer2" style="z-index:2">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><form name="form1" method="post" action="">
<input name="radiobutton" type="radio" onClick="MM_showHideLayers('Layer1','','show')" value="radiobutton">
Etiqueta
<input name="radiobutton" type="radio" onClick="MM_showHideLayers('Layer1','','hide')" value="radiobutton">
Etiqueta
<input name="radiobutton" type="radio" onClick="MM_showHideLayers('Layer1','','hide')" value="radiobutton">
Etiqueta
</form></td>
</tr>
</table>
</div>
<div id="Layer1" style="z-index:1; background-color: #FFFFFF; layer-background-color: #FFFFFF; border: 1px none #000000; visibility:hidden">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Esto debe mostrarse </td>
</tr>
</table>
</div><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#CC9933">
<tr>
<td>mas contenidos</td>
</tr>
</table></td>
</tr>
</table>
[CODE]
Muchas gracias, es que no veo qué hago mal....
  #2 (permalink)  
Antiguo 01/11/2005, 19:51
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 10 meses
Puntos: 4
no veo la funcion MM_showHideLayers... pero al parecer usas la propiedad visibility, deberías usar display = 'none' para ocultar y display = 'block' para mostrar, asi no ocupa espacio en el documento.
__________________
Internet Explorer SuckS
Download FireFox
  #3 (permalink)  
Antiguo 02/11/2005, 03:01
 
Fecha de Ingreso: noviembre-2005
Mensajes: 2
Antigüedad: 18 años, 5 meses
Puntos: 0
Sonrisa capa q expande una tabla

Sé que es eso... pero no sé como cambiarlo!! te paso todo el código por si me puesdes ayudar... gracias


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
z-index:1;
visibility: hidden;
}
-->
</style>
<script type="text/javascript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v; }
}
//-->
</script>
</head>

<body>

<table width="100%" border="0" bgcolor="#0099FF">
<tr>
<td><table width="100%" border="0">
<tr>
<td><form id="form1" name="form1" method="post" action="">
<input name="radiobutton" type="radio" onclick="MM_showHideLayers('Layer1','','show')" value="radiobutton" />
Pulsar aqui
<input name="radiobutton" type="radio" onclick="MM_showHideLayers('Layer1','','hide')" value="radiobutton" />
Quitar
</form>
</td>
</tr>
</table><div id="Layer1">
<table width="100%" border="0" bgcolor="#00FF99">
<tr>
<td>Informaci&oacute;n que debe aparecer </td>
</tr>
</table>
</div>&nbsp;</td>
</tr>
</table>
</body>
</html>
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 05:02.