Foros del Web » Programando para Internet » Javascript »

Ocultar y mostrar capas

Estas en el tema de Ocultar y mostrar capas en el foro de Javascript en Foros del Web. Hola amigos vereis tengo un codigo que en principio muestra 3 capas pero cuando pulsas sobre un enlace se tendria que quedar la capa pulsada ...
  #1 (permalink)  
Antiguo 08/03/2006, 06:57
 
Fecha de Ingreso: octubre-2004
Mensajes: 230
Antigüedad: 19 años, 6 meses
Puntos: 0
Ocultar y mostrar capas

Hola amigos vereis tengo un codigo que en principio muestra 3 capas pero cuando pulsas sobre un enlace se tendria que quedar la capa pulsada y ocultarse las otras dos....pero solo se me oculta una y se que es porque solo le paso el parametro de una capa ,,,,y mi pregunta es como podria pasarle los dos parametros??
Gracias
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">

var ie4=(document.all&&navigator.userAgent.indexOf("Opera")==-1);
var ns6=(document.getElementById&&!document.all);
var ope=(navigator.userAgent.indexOf("Opera")!=-1);
var ns4=(document.layers);
var retraso=setTimeout("",100);
var nTemp=0;
var lnx=0;
var lny=0;

function DameObjeto(cid1) {
   if (ie4) {
      oobjeto = eval("document.all." + cid1);
   } else if (ns6||ope) {
      oobjeto = document.getElementById(cid1);
   } else if (ns4) {
      oobjeto = eval("document." + cid1);
   } else {
      oobjeto = document.getElementById(cid1);
   }
   return oobjeto;
}

function MuestraCapa(cid1) {
   if (ie4||ns6||ope) {
      DameObjeto(cid1).style.visibility="visible";
   } else {
      DameObjeto(cid1).visibility="visible";
   }
}
function OcultaCapa(cid1) {
   if (ie4||ns6||ope) {
      DameObjeto(cid1).style.visibility="hidden";
   } else {
      DameObjeto(cid1).visibility="hide";
   }
}

</script>
</head>

<body>




<a href="#" class="azul" onClick="MuestraCapa('info01'); OcultaCapa('info02','info03');" style="cursor:pointer;">Enlace1</a>

<a href="#" class="azul" onClick="MuestraCapa('info02'); OcultaCapa('info01','info03');" style="cursor:pointer;">Enlace2</a></li>

<a href="#" class="azul" onClick="MuestraCapa('info03'); OcultaCapa('info01','info02');" style="cursor:pointer;">Enlace3</a>
<br>
<div id="info01">Capa01</div>
<div id="info02">Capa02</div>
<div id="info03">Capa03</div>
</body>
</html>
  #2 (permalink)  
Antiguo 08/03/2006, 09:50
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola javihb

He modificado tu código, pruebalo a ver si te sirve. Entre otras cosas he quitado lo de style="cursor:pointer;" porque no es necesario, en los enlaces se muestra, por defecto, el cursor de la manita:
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">

var ie4=(document.all&&navigator.userAgent.indexOf("Opera")==-1);
var ns6=(document.getElementById&&!document.all);
var ope=(navigator.userAgent.indexOf("Opera")!=-1);
var ns4=(document.layers);
var retraso=setTimeout("",100);
var nTemp=0;
var lnx=0;
var lny=0;

function OcultaCapa(cid1) {
  capa = document.getElementById(cid1);
  for (i=0; ele=document.getElementsByTagName('div')[i]; i++)
    if (ie4||ns6||ope) 
      ele.style.visibility="hidden";
    else 
      ele.visibility="hide";
   if (ie4||ns6||ope) 
      capa.style.visibility="visible";
   else 
      capa.visibility="visible";
   }

</script>
</head>

<body>
<a href="#" class="azul" onClick="OcultaCapa('info01')">Enlace1</a>
<a href="#" class="azul" onClick="OcultaCapa('info02')">Enlace2</a></li>
<a href="#" class="azul" onClick="OcultaCapa('info03')">Enlace3</a>
<br>
<div id="info01">Capa01</div>
<div id="info02">Capa02</div>
<div id="info03">Capa03</div>
</body>
</html>
Saludos,
  #3 (permalink)  
Antiguo 08/03/2006, 12:27
 
Fecha de Ingreso: octubre-2004
Mensajes: 230
Antigüedad: 19 años, 6 meses
Puntos: 0
Muchas gracias esto es lo que buscaba......
  #4 (permalink)  
Antiguo 20/03/2006, 09:51
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Hay alguna forma de mostrar/ocultar capas con php?
  #5 (permalink)  
Antiguo 29/03/2006, 10:38
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Reviviendo la pregunta, alguna forma de mostrar/ocultar capas con PHP?
  #6 (permalink)  
Antiguo 29/03/2006, 11:49
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Con php se pueden mostrar/ocultar capas al generar la página

Si tienes la variable $ocultar = "si"...

<div style="display: <?php if ($ocultar == "si" echo "none" else echo "block")?>"

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 30/03/2006, 11:24
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Gracias por la respuesta, de hecho tengo así la programación de mis capas, pero buscaba algo un poco más cómodo, igual y es la única manera o_O
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 13:20.