Foros del Web » Programando para Internet » Javascript »

Necesito ayuda urgente

Estas en el tema de Necesito ayuda urgente en el foro de Javascript en Foros del Web. Hola Veréis, estoy haciendo una web que tiene un montón de enlaces internos y necesito que cuando pulso sobre un enlace determinado se vea una ...
  #1 (permalink)  
Antiguo 25/01/2008, 05:21
 
Fecha de Ingreso: diciembre-2003
Mensajes: 83
Antigüedad: 20 años, 5 meses
Puntos: 0
Necesito ayuda urgente

Hola

Veréis, estoy haciendo una web que tiene un montón de enlaces internos y necesito que cuando pulso sobre un enlace determinado se vea una capa css que tiene una posición, un tamaño y un contenido concreto. Bien hasta aquí todo es fácil.

El problema para mí viene ahora. Os cuento.

La historia es que cuando pulso en otro de los enlaces necesito que se vea otra capa css que tiene la misma posición y tamaño que la anterior, pero distinto contenido. Esto también sé hacerlo.

Pero...

Lo que me ocurre es la primera capa que se había visto continúa ahí debajo, incluso en ocasiones, no sé porqué (pues he andado jugando con los z-index y no he conseguido nada) la capa antigua se situa por encima de la nueva. He pensado en poner una función javascript anterior a la visualizar la capa, que sea ocultar la anterior. Y esto funciona.

Pero...

Como tengo un montón de capas y posibilidades diferentes, la lista de funciones de capas a ocultar es inmensa y me gustaría saber si es posible simplicarlo diciéndole que me oculte todas en una sola función.

Eso es lo que me ocurre. Os dejo un ejemplo que a lo mejor os ayuda un poco a entenderme:
Cita:
<div id="capa4" style="position:absolute; left:558px; top:-1px; width:236px; height:36px">
<div align="center"><a href="#" onClick="MM_showHideLayers('Layer*','','hide');MM_ showHideLayers('Layer3','','show');MM_changeProp(' Layer3','','style.left','100','DIV')">Segundo Texto de ejemplo</a> </div>
Gracias por todo.
__________________
Si quieres, puedes leer mi blog.

Aquí tienes la dirección:
Blog: http://www.google.com/reader/shared/...26498618720899
  #2 (permalink)  
Antiguo 25/01/2008, 08:38
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Necesito ayuda urgente

Hola pues mira puedes hacer algo..

funcion ocultar ()
{
for (i=1;i<=cantidad_divs;i++)
{
nombre_capa=capa+i;
document.getElementById(nombre_capa).style.visibil ity="hidden";
}
}
Espero te sirva salu2..!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #3 (permalink)  
Antiguo 25/01/2008, 15:25
 
Fecha de Ingreso: diciembre-2003
Mensajes: 83
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: Necesito ayuda urgente

Oye gracias.

Voy a ver si me sirve y ya te contaré.
__________________
Si quieres, puedes leer mi blog.

Aquí tienes la dirección:
Blog: http://www.google.com/reader/shared/...26498618720899
  #4 (permalink)  
Antiguo 28/01/2008, 01:36
 
Fecha de Ingreso: diciembre-2003
Mensajes: 83
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: Necesito ayuda urgente

Siento decirte que esto no me funciona. Verás, es que soy un poco novato en esto del JavaScript.

Tengo un código que he conseguido en otro post y que funciona perfectamente para mostrar las capas pero no para ocultar. Te lo paso a ver si me puedes echar una mano. Gracias.

Cita:
var capas = ["roja", "verde", "azul"];
function mostrar(capa) {
for (i = 0, total = capas.length; i < total; i ++)
document.getElementById(capas[i]).style.display = (capas[i] == capa) ? "block":"none";
}
__________________
Si quieres, puedes leer mi blog.

Aquí tienes la dirección:
Blog: http://www.google.com/reader/shared/...26498618720899
  #5 (permalink)  
Antiguo 28/01/2008, 08:28
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Necesito ayuda urgente

Hola hscnet

Prueba poniéndolo así:

Código:
for (i = 0, total = capas.length; i < total; i ++)
document.getElementById(capas[i]).style.display = (document.getElementById(capas[i]) == capa) ? "block":"none";
}
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 00:55.