Foros del Web » Programando para Internet » Javascript »

Capas en Mozilla y IE

Estas en el tema de Capas en Mozilla y IE en el foro de Javascript en Foros del Web. Hola! Tengo el siguiente codigo para visualizar/ocultar capas tanto en mozilla como IE el codigo lo encontre en www.lawebdelprogramador.com . La duda que tengo es ...
  #1 (permalink)  
Antiguo 18/09/2004, 13:01
 
Fecha de Ingreso: septiembre-2003
Mensajes: 79
Antigüedad: 20 años, 7 meses
Puntos: 0
Capas en Mozilla y IE

Hola!
Tengo el siguiente codigo para visualizar/ocultar capas tanto en mozilla como IE
el codigo lo encontre en www.lawebdelprogramador.com. La duda que tengo es como utilizar la misma función para trabajar con x número de capas.
Esto por si solo funciona correctamente en los dos navegadores
crossobj=ns6 ? document.getElementById("capa") : document.all.capa;

var ns6=document.getElementById&&!document.all;
crossobj=ns6 ? document.getElementById("capa") : document.all.capa;
function Ocultar()
{
crossobj.style.visibility="hidden";
}

function Visualizar()
{

crossobj.style.visibility="visible"
}

He intentado hacer los siguiente
function VisOcultar(capa,VO)
{
crossobj=ns6 ? document.getElementById(capa) : document.all.capa;
if (VO==1)
crossobj.style.visibility="visible"
else
crossobj.style.visibility="hidden";
}
Esto último me funcona en IE, pero no en Mozilla.
Que estoy haciendo mal o que no estoy teniendo en cuenta.
Saludos
Daly
  #2 (permalink)  
Antiguo 19/09/2004, 18:58
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 19 años, 8 meses
Puntos: 5
Hola da_ly

Me parace que no has declararado la variable ns6 por eso no funciona, otro error es document.all.capa, ya que capa no es el argumento de la función VisOcultar() si no que es el id del objeto capa. No se si me explico bien, mejor te pongo el código para que lo veas más claro.

Un saludo

<html>
<head>
<title>Untitled</title>
<script language=JavaScript type=text/javascript>
<!--
var ns6=document.getElementById&&!document.all;
function VisOcultar(capa,VO)
{
// en IE utizamos el método eval() para convertir la cadena en un objeto
crossobj=ns6 ? document.getElementById(capa) :eval("document.all."+capa);
if (VO==1)
crossobj.style.visibility="visible"
else
crossobj.style.visibility="hidden";
}

//-->
</script>


</head>
<body>

<div id ="capa1" style="position:absolute;left:200px;width:200px;he ight:200px;background-color:red;">capa 1 </div>
<div id ="capa2" style="position:absolute;width:200px;left:450px;he ight:200px;background-color:green;">capa 2</div>
<div id ="capa3" onmouseover="VisOcultar(this.id,0)" style="position:absolute;width:200px;left:650px;he ight:200px;background-color:blue;">Pon el ratón para ocultar la capa</div>
<br>

<a href="javascript:void(0)" onmouseover="VisOcultar('capa1',0)" onmouseout="VisOcultar('capa1',1)">Ocultar capa1</a>
<a href="javascript:void(0)" onmouseover="VisOcultar('capa2',0)" onmouseout="VisOcultar('capa2',1)">Ocultar capa2</a>
</body>
</html>
  #3 (permalink)  
Antiguo 20/09/2004, 03:19
 
Fecha de Ingreso: septiembre-2003
Mensajes: 79
Antigüedad: 20 años, 7 meses
Puntos: 0
Buscando,buscando he visto la siguiente forma para mostrar/ocultar capas compatible para los dos navegadores, aunque si no me equivoco son para versiones superior a la 4 (hoy den día es raro que alguna persona utilice una versión anterior)

document.getElementById('capa').style.visibility=" hidden";
document.getElementById(capa).style.visibility="vi sible";
Así evito comprobar el navegador.
Gracias
Saludos
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 04:40.