Foros del Web » Programando para Internet » Javascript »

Mostrar y ocultar contenidos

Estas en el tema de Mostrar y ocultar contenidos en el foro de Javascript en Foros del Web. Que más Foreros, estoy enredado con algo y espero me puedan ayudar. aunque en la red hay bastantes lineas de como mostrar y ocultar contenidos, ...
  #1 (permalink)  
Antiguo 15/07/2008, 16:35
 
Fecha de Ingreso: mayo-2008
Mensajes: 489
Antigüedad: 15 años, 11 meses
Puntos: 8
Pregunta Mostrar y ocultar contenidos

Que más Foreros,
estoy enredado con algo y espero me puedan ayudar.
aunque en la red hay bastantes lineas de como mostrar y ocultar contenidos, no he podido hacer algo especifico que necesito; la mayoria de los ejemplos que hay muestran el contenido al dar un click y lo ocultan cuando se da un click más en el mismo enlace. la idea es la siguiente:
hay varios enlaces, cada uno con un contenido ocuto. como se haría para que al dar un click sobres un enlace, se oculte el contenido que se pidio anteriormente y se muestre el nuevo?

acá un ejemplo con radioButtons
Código HTML:
<html>
<head>
<title>Muestra oculta</title>
<script>
var capas = ["capa1", "capa2"];
function mostrar(capa) {
for (i = 0, total = capas.length; i < total; i ++)
document.getElementById(capas[i]).style.display = (capas[i] == capa) ? "block":"none";
}
</script>
</head>

<body>
<input type="radio" name="r" value="capa1" onclick="mostrar(this.value)" />item1
<input type="radio" name="r" value="capa2" onclick="mostrar(this.value)" />item2
<div  id="capa1" style="display:none;">Contenido1</div>
<div  id="capa2" style="display:none;">Contenido2</div>
</body>
</html> 
pero la idea es que sean enlaces no radio.

gracias de antemano.
  #2 (permalink)  
Antiguo 15/07/2008, 16:48
 
Fecha de Ingreso: mayo-2008
Mensajes: 489
Antigüedad: 15 años, 11 meses
Puntos: 8
Respuesta: Mostrar y ocultar contenidos

Solucionado:
Como no puedo eliminar el post, pongo la solución.

Código HTML:
<html>
<head>
<script>
var capas = ["capa1", "capa2", "capa3", "capa4"];
function mostrar(capa) {
for (i = 0, total = capas.length; i < total; i ++)
document.getElementById(capas[i]).style.display = (capas[i] == capa) ? "block":"none";
}
</script>

<style type="text/css">
<!--
#capa1, #capa2, #capa3, #capa4  {
display: none;
}
-->
</style>
</head>
<body>
<a href="#" onclick="mostrar('capa1')"> mostrar capa 1 </a>
<a href="#" onclick="mostrar('capa2')"> mostrar capa 2 </a>
<a href="#" onclick="mostrar('capa3')"> mostrar capa 3 </a>
<a href="#" onclick="mostrar('capa4')"> mostrar capa 4 </a>
<div id="capa1" >
contenido de capa1
</div>
<div id="capa2" >
contenido de capa2
</div>
<div id="capa3" >
contenido de capa3
</div>
<div id="capa4" >
contenido de capa4
</div>
</body> 
Gracias de todas maneras

Última edición por abigor66; 15/07/2008 a las 16:58
  #3 (permalink)  
Antiguo 15/07/2008, 18:02
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Mostrar y ocultar contenidos

NO! Estas cometiendo una infracción y por tal motivo te suspenderemos la licencia para desarrollar jajaja.

Bueno ya pongamonos serios. La verdad es que estas usnado unas cuantas malas practicas.

1.- Enlaces que no llevan a nada. El "#" se debería evitar siempre que sea posible, y en este caso lo es.
2.- Javascript obtrusibo.Evita mesclar el javascript con el html. Puedes asignar la función al evento onclick de formas mas amigables.
3.- Estas escondiendo las capas desde un principio. Si el javascript está desactivado, no habrá manera de que el usuario vea el contenido de las capas.

Son solo algunos puntos que espero tomes en cuenta ya que si lo haces aumentaras la compatibilidad de tu sitio web.
__________________
twitter: @imbuzu
  #4 (permalink)  
Antiguo 16/07/2008, 08:19
 
Fecha de Ingreso: mayo-2008
Mensajes: 489
Antigüedad: 15 años, 11 meses
Puntos: 8
Respuesta: Mostrar y ocultar contenidos

buzu, gracias por tus sugerencias
  #5 (permalink)  
Antiguo 16/07/2008, 22:54
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Mostrar y ocultar contenidos

Por nada, Solo tratando de hacer de la web un lugar mas amigable para el usuario final.
__________________
twitter: @imbuzu
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 13:30.