Foros del Web » Programando para Internet » Javascript »

Error javascript al ocultar capa

Estas en el tema de Error javascript al ocultar capa en el foro de Javascript en Foros del Web. He modificado un script de un usuario de foros del web, pero al ejecutarlo me da un error y no sé como solucionarlo, este es ...
  #1 (permalink)  
Antiguo 04/01/2007, 06:12
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 11 meses
Puntos: 0
Error javascript al ocultar capa

He modificado un script de un usuario de foros del web, pero al ejecutarlo me da un error y no sé como solucionarlo, este es el script:


Código PHP:
<script LANGUAGE="javascript" type="text/javascript">
var 
capa
var capa2
function cambio(idCapa){

 if (
document.layerscapa = eval("document." idCapa);
 if (
document.allcapa = eval(idCapa ".style");
 if (
document.getElementByIdcapa = eval('document.getElementById("' idCapa '").style');
 

 if ((
capa.visibility == "hidden") || (capa.visibility == "hide")){
  
capa.visibility = (document.layers) ? "show" "visible";

 }else{
  
capa.visibility = (document.layers) ? "hide" "hidden";

 }
 
 if (
document.layerscapa2 = eval("document." idCapa);
 if (
document.allcapa2 = eval(idCapa ".style");
 if (
document.getElementByIdcapa2 = eval('document.getElementById("' idCapa '").style');
 
 if ((
capa2.display == "none") || (capa2.display == "hide")){
  
capa2.display = (document.layers) ? "show" "inherit";

 }else{
  
capa2.display = (document.layers) ? "hide" "none";

 }
 
}
//-->
</script>

----------------------------------------
<a href="#" onclick="cambio('capatemp')"><img src="boton_usuario.jpg" alt="nuevo usuario" width="123" height="33" border="0" /></a>
<div id="capatemp" style='position:relative; visibility:hidden; display:none'></div> 
El error que dice el explorer es que no se puede obtener la propiedad display. Argumento no válido.

¿Saben como resolverlo?

PD: Por cierto, en firefox se ejecuta sin problemas :)
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #2 (permalink)  
Antiguo 04/01/2007, 06:33
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Error javascript al ocultar capa

Hola ferent,

prueba así

Código:
<script LANGUAGE="javascript" type="text/javascript">
var capa
var capa2
function cambio(idCapa){

capa =document.getElementById(idCapa).style;
 

 if (capa.visibility == "hidden"){
  capa.visibility =  "visible";

 }else{
  capa.visibility = "hidden";

 }
 
capa2 = document.getElementById(idCapa).style;
 
 if (capa2.display == "none") {
  capa2.display = "inherit";

 }else{
  capa2.display =  "none";

 }
 
}
//-->
</script>
Ya me contarás

saludos
  #3 (permalink)  
Antiguo 04/01/2007, 09:44
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: Error javascript al ocultar capa

Gracias por tu respuesta Tunait, me sigue dando error en la linea 89 que contiene:

capa2.display = "inherit";

¿alguna idea?

PD: ¡Así todo tu código está mucho más optimizado que el que usaba!
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #4 (permalink)  
Antiguo 04/01/2007, 09:54
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Error javascript al ocultar capa

Hum .. inherit no será un valor posible para la propiedad display. Cambia inherit por block

Cita:
¡Así todo tu código está mucho más optimizado que el que usaba!
Bueno, sólo eliminé las partes en donde se comprueba si es un navegador muy antíguo y realmente no vale la pena mantener esos condicionales.

Prueba a ver qué tal le parece block

Un saludo

Edito: por cierto que aún se puede optimizar más si quieres
  #5 (permalink)  
Antiguo 04/01/2007, 10:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Re: Error javascript al ocultar capa

Hola:

Para display, inherit no parece un valor lógico (nunca lo he usado)... he visto en algunos códigos de JavierB poner la cadena vacía ("")... personalmente prefiero darle un valor más definido (inline/block/none)

Coincido con tunait (¡Hola !) en que puede conseguirse un código más optimizado, incluso buscando otros mensajes en estos mismos foros... (estos días participé en una cuestión similar)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 04/01/2007, 10:24
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: Error javascript al ocultar capa

Pues no va tampoco, les pido que accedan a la web para que puedan ver en vivo el fallo (no testado en explorer 7, solo en 6).

En la web tienen que clicar en gestion de usuarios (abre un iframe) y clicar en el boton Nuevo usuario:

eliminada

CORRIJO: Fallo mio en esta ocasión, ya funciona!! gracias
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
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 11:18.