Foros del Web » Programando para Internet » Javascript »

consulta con manejo de layers..

Estas en el tema de consulta con manejo de layers.. en el foro de Javascript en Foros del Web. hola a todos... estoy tratando de hacer un codigo simple con layer y no me toma.. a continuacion mostrare el codigo... la idea es que ...
  #1 (permalink)  
Antiguo 27/10/2004, 13:21
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 9 meses
Puntos: 0
consulta con manejo de layers..

hola a todos... estoy tratando de hacer un codigo simple con layer y no me toma..
a continuacion mostrare el codigo...
la idea es que abajo del link3 este el "ver mas" y actualmente se me ve mucho mas abajo!! y si presiona "ver mas" debiese mostrarme los demas links...
ojala me puedan ayudar.. saludos BHONOX!

Código PHP:
<html>
<
head>
 <
title>rengo source</title>

<
script language="javascript">
var 
capa

ns4 
= (document.layers)? true:false
ie4 
= (document.all)? true:false

function init() {
   if (
ns4) {
     
capa document.menu
  
}
 if (
ie4) {
   
capa menu.style
 
}
}

function 
muestra(obj) {
 if (
ns4obj.visibility "show"
 
else if (ie4obj.visibility "visible"
}

function 
oculta(obj) {
 if (
ns4obj.visibility "hide"
 
else if (ie4obj.visibility "hidden"
}

</script>
</head>
<body onLoad="init()">
<table cellpadding="0" cellspacing="0" border="0">
<tr><td><a href="#">link1</a></td></tr>
<tr><td><a href="#">link2</a></td></tr>
<tr><td><a href="#">link3</a></td></tr>
<tr><td><a href="#">link3</a></td></tr>
<tr><td><div id="menu" style= "position:relative; visibility:hidden"> 
        <table cellpadding="0" cellspacing="0" border="0">
          <!-- la idea es q aca se debe hacer el while -->
          <tr>
            <td><a href="#">link4</a></td>
          </tr>
          <tr>
            <td><a href="#">link5</a></td>
          </tr>
          <tr>
            <td><a href="#">link6</a></td>
          </tr>
        </table>
      </div>
</td></tr>
<tr><td><a href="javascript:muestra(capa)">ver mas..</a></td></tr>
</table>
</body>
</html> 
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #2 (permalink)  
Antiguo 27/10/2004, 13:39
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Hola, bhonox

En primer lugar, debo decirte que el "ver mas" me funciona bien en Netscape 4.7 y en IE 5.5.

Respecto a su posición, supongo que la capa, aunque esté oculta, reserva su espacio. No tengo experiencia con visibilidad de capas, así que más no te puedo ayudar.

En tercer lugar, ten en cuenta que con ese código te estás dejando fuera a los navegadores Gecko (Netscape 6/7, Mozilla y Firefox), pues no reconocen layers ni document.all. En Firefox 1.0, por ejemplo, "ver mas" no hace nada. Deberías ampliar el código de identificación de navegador.

En tu caso, las funciones "específicas de IE" que usas,
menu.style y obj.visibility = "visible"
creo que sí son reconocidas por Gecko; luego lo pruebo.
  #3 (permalink)  
Antiguo 27/10/2004, 13:41
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 9 meses
Puntos: 0
emm gracias pero me olvide decir q lo importante es q funcione en IE!
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #4 (permalink)  
Antiguo 27/10/2004, 13:53
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Bueno, pero estabas usando código para que funcione en Netscape 4, y éste lo usará menos gente que N7/Mozilla.
Con estos pequeños cambios (observa las líneas anuladas con //) funciona igual en IE5.5, Netscape 4.7, Netscape 7 y Firefox 1.0:

Código:
<script language="javascript">
var capa

ns4 = (document.layers)? true:false
//ie4 = (document.all)? true:false

function init() {
   if (ns4) {
     capa = document.menu
  }
//if (ie4) {
else {
//   capa = menu.style
   capa = document.getElementById('menu').style
}
}

function muestra(obj) {
if (ns4) obj.visibility = "show"
//else if (ie4) obj.visibility = "visible"
else obj.visibility = "visible"
}

function oculta(obj) {
if (ns4) obj.visibility = "hide"
//else if (ie4) obj.visibility = "hidden"
else obj.visibility = "hidden"
}

</script>
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 15:06.