Foros del Web » Programando para Internet » Javascript »

Problema con capas en Netscape

Estas en el tema de Problema con capas en Netscape en el foro de Javascript en Foros del Web. Bueno, salu2 a todos/as. Es mi primer mensaje por aqui. La cuestión es que tengo un problema con las capas y Netscape. Intento mostrar una ...
  #1 (permalink)  
Antiguo 10/09/2004, 05:25
 
Fecha de Ingreso: septiembre-2004
Mensajes: 2
Antigüedad: 19 años, 7 meses
Puntos: 0
Problema con capas en Netscape

Bueno, salu2 a todos/as. Es mi primer mensaje por aqui.
La cuestión es que tengo un problema con las capas y Netscape.
Intento mostrar una capa con información al pasar el raton por encima de un enlace, la funciones que he creado son las siguientes:

//FUNCIONES PARA MOSTRAR NOTAS DE MENU 2.
function ocultar(aux){
if (document.layers)
document.layers[aux].visibility='hide'
else if(document.all){
document.all[aux].style.visibility='hidden'
}
}
function mostrar(aux){
if (document.layers)
document.layers[aux].visibility='show'
else if(document.all){
document.all[aux].style.visibility='visible'
}
}


Y la llamada a la funcion la hago mediante
"onmouseover=ocultar('menu2_usuarios')"; Siendo menu2_usuarios el ID de la capa que intento abrir.

El caso es que en IE funciona muy bien pero en Netscape nasti de plasti.
Alguien sabria explicarme el porque?.

Muchas gracias colegas.
  #2 (permalink)  
Antiguo 10/09/2004, 05:45
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
Hola Souza, bienvenido/a a los foros

Pues... lo que pasa es que el script es antediluviano. Bueno, tal vez no tanto, pero sólo contempla el uso de explorer y NS versión 4.x, pero no posteriores.


Prueba a añadir otra condición, a ver si esto funciona

Código:
//FUNCIONES PARA MOSTRAR NOTAS DE MENU 2.
function ocultar(aux){ 
if (document.layers){
	document.layers[aux].visibility='hide'
	}
else{
	document.getElementById(aux).style.visibility='hidden'
	}
}
function mostrar(aux){
if (document.layers){
	document.layers[aux].visibility='show'
	}
else{
	document.getElementById(aux).style.visibility='visible'
	}
}
Eso habría de funcionarte sin problemas
  #3 (permalink)  
Antiguo 10/09/2004, 05:50
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
Ampliando:
Cita:
Alguien sabria explicarme el porque?.
El script examina dos posibilidades. Que el navegador comprenda lo que significa "layers" y/o que el navegador sepa lo que significa "all"

Layers fue un tag propietario de Netscape (osea, que sólo lo tenía este navegador implementado) en su versión 4.x

all fue un tag propietario de IExplorer, osea, que sólo este navegador lo tenía (y tiene) implementado.

Ambos navegadores deseacharon estos tags, la diferencia es que las siguientes versiones de Explorer mantuvieron una compatibilidad hacia atrás (las nuevas versiones aún lo entienden, aunque yá llevan implementadas formas oficiales (standares) de hacer lo mismo); en cambio las siguientes versiones de NS no han mantenido esa compatibilidad hacia atrás. Así que el NS actual no tiene ni idea de lo que es layers.

Por eso, el script primero pregunta si soporta layers. Netscape devuelve false, así que no entra a realizar esa acción.

Luego el script pregunta si soporta all. Y también devuelve false (es para explorer)

Por eso no hace ná
  #4 (permalink)  
Antiguo 10/09/2004, 06:32
 
Fecha de Ingreso: septiembre-2004
Mensajes: 2
Antigüedad: 19 años, 7 meses
Puntos: 0
Muchas gracias. Ahora rula correctamente y ya he entendido porque es...
mola! Jejeje. Viva la gente experimentada como vosotros! Yo aun soy amateur pero espero poder ayudar algun día a alguien... XD

Otra cosa! Lei en un articulo que es mejor maquetar las webs mediante capas y no mediante tablas, ¿es eso cierto? Lo digo porque para mi es una odisea hacer que una web se visualice = en Explorer que en Netscape si la hago con capas... y la verdad no se que utilizar pues hay grandes portales que usan capas y otros que usan tablas, no se por cual decantarme. ¿Algun consejo?

Salu2.
  #5 (permalink)  
Antiguo 10/09/2004, 06:46
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
Cita:
Muchas gracias. Ahora rula correctamente y ya he entendido porque es...
óle

Cita:
Lei en un articulo que es mejor maquetar las webs mediante capas y no mediante tablas, ¿es eso cierto?
Yep, lo es

Cita:
Lo digo porque para mi es una odisea hacer que una web se visualice = en Explorer que en Netscape si la hago con capas...
Qué me vas contar... jeje

Si explorer tuviera el soporte correcto de CSS sería una maravilla y no sería tan complicado, aunque requiere de algo de estudio, pero se puede hacer.
El problema es que explorer hace interpretaciones diferentes en la forma de implementar medidas asignadas, y otras interpretaciones directamente no las hace. Pero se puede hacer.

Eso sí ... no tengas prisa. Tómate tu tiempo para estudiar el tema y trabájalo mucho, poco a poco le irás pillando el tranquillo.

Las tablas están pensadas para datos tabulares, no para maquetar sitios. A falta de otras alternativas nos tiramos todos en su día a maquetar con tablas... pero hace yá tiempo que (años) existen otras formas de maquetar los documentos, pero requiere atención y estudio. Los programas wysiwyg no están (o han estado) demasiado preparados para trabajar así de una forma intuitiva (sin estudiar, vamos) así que hay que darle al código y casi nadie se anima a hacer las cosas bien, por eso se sigue maquetando con tablas, pero tarde o temprano todos habremos de actualizarnos así que este es tan buen momento como cualquier otro.
  #6 (permalink)  
Antiguo 10/09/2004, 12:32
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 10 meses
Puntos: 4
y si uso solamente "getElementById()" en ambos navegadores anda bien o no??
  #7 (permalink)  
Antiguo 10/09/2004, 12:35
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
Sip al menos a partir de las versiones 5 de IE y 6 de NS
  #8 (permalink)  
Antiguo 10/09/2004, 13:06
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 10 meses
Puntos: 4
ok, pero en netscape 6 se sigue usando "show" y "hide" o es igual que en ie???
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 16:15.