Foros del Web » Programando para Internet » Javascript »

mostrar/ocultar capas.

Estas en el tema de mostrar/ocultar capas. en el foro de Javascript en Foros del Web. Hola amigos, como les va?. Les cuento, estoy armando un site y tuve la 'brillante idea' de propoerle al cliente un "efecto" en los textos....(ahora ...
  #1 (permalink)  
Antiguo 14/09/2007, 18:21
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
mostrar/ocultar capas.

Hola amigos, como les va?.

Les cuento, estoy armando un site y tuve la 'brillante idea' de propoerle al cliente un "efecto" en los textos....(ahora les explico bien)

Tengo 10 títtulos y sus respectivas explicaciones (apróximadamente 15 líneas de texto cada una) y lo que quiero hacer es que aparezcan los diez títulos y al hacer click en ellos se muestre una capa oculta, bajando a los títulos inferiores. ¿me explico?

Esto lo conseguí, y anda perfectamente, pero para un solo título, cuando quiero utilizrlo en otro, ahí se me descontrola todo, y me abre el de arriba y me cierra el de abajo

Este es el código JS:
Código HTML:
OCULTO="none";
VISIBLE="block";
function mostrar(blo) {
  document.getElementById(blo).style.display=VISIBLE;
  document.getElementById('ver_off').style.display=VISIBLE;
  document.getElementById('ver_on').style.display=OCULTO;
}
 
function ocultar(blo) {
  document.getElementById(blo).style.display=OCULTO;
  document.getElementById('ver_off').style.display=OCULTO;
  document.getElementById('ver_on').style.display=VISIBLE;
}
y este es el HTML:

Código HTML:
<div id="ver_on1"><a href="#" onclick="mostrar('bloque1')"><h1>(+)Operaciones Compra-Venta y Alquileres</h1></a></div>
    <div id="ver_off1" style="display: none"><a href="#" onclick="ocultar('bloque1')"><h1>(-)Operaciones Compra-Venta y Alquileres</h1></a></div>
    <div id="bloque1" style="display: none">
      <p>En la autorización de venta o alquiler, se estipulan plazos y condiciones. Desde allí en adelante nuestro trabajo consiste en ofrecer la unidad a potenciales interesados, y además efectuando publicaciones destacadas.</p>
    </div> 
Verán que si prueban este script anda perfectamente, pero como bien dije antes, lo que necesito es que pueda reutilizarlo en N cantidad de títulos.

Agradezco cualquier ayuda.

DX
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #2 (permalink)  
Antiguo 14/09/2007, 18:41
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
Re: mostrar/ocultar capas.

corrijo, el JS es este...

Cita:
//Ocultar/Mostrar Div's
OCULTO="none";
VISIBLE="block";
function mostrar(blo) {
document.getElementById(blo).style.display=VISIBLE ;
document.getElementById('ver_off').style.display=V ISIBLE;
document.getElementById('ver_on').style.display=OC ULTO;
}

function ocultar(blo) {
document.getElementById(blo).style.display=OCULTO;
document.getElementById('ver_off').style.display=O CULTO;
document.getElementById('ver_on').style.display=VI SIBLE;
}

Por otro lado, TUNAIT ví el que tenes en tu página, ESTE anda perfectamente, pero como hago para que por default la info aparezca apagada, osea la lista cerrada

Gracias!!!!
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #3 (permalink)  
Antiguo 15/09/2007, 02:10
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: mostrar/ocultar capas.

Hola:

Aunque no he llegado a enterarme del problema, te cuento como lo plantearía:

Si lo que quieres mostrar y ocultar una capa debes usar el estilo display: [block|none]... por lo que veo tienes que tener al principio todos "none", y si quieres que se oculte el último mostrado al querer mostrar otro, bastaría guardar el último mostrado:

function tag(id) {
return document.getElementById(id);
}
var mostrado = "bloque1";
function mostrar(capa) {
tag(mostrado).style.display = "none";
mostrado = capa;
tag(mostrado).style.display = "block";
}

Lo que no entiendo es la razón de tantas capas... , pero si todas tienen el mismo formato: "bloqueX" puedes rescatar esa "X" con X = capa.substring(5) (creo)... y luego podrías formar las cadenas concat("ver_on", X)...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 15/09/2007, 02:20
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: mostrar/ocultar capas.

Cita:
Iniciado por DragonX Ver Mensaje
Por otro lado, TUNAIT ví el que tenes en tu página, ESTE anda perfectamente, pero como hago para que por default la info aparezca apagada, osea la lista cerrada
Muy buenas Don Dragon

mmm... al final del tutorial se indica una función que hace eso. Fíjate en la función ocultaItems(). Se encarga de ocultar la información que podrá ser desplegada
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 19:19.