Foros del Web » Programando para Internet » Javascript »

ocultar/mostrar capa

Estas en el tema de ocultar/mostrar capa en el foro de Javascript en Foros del Web. tengo una web sencilla en la que tengo varios divs (menu, cuerpo, etc..) la cosa esta en que en el menu tengo una serie de ...
  #1 (permalink)  
Antiguo 06/06/2011, 08:36
 
Fecha de Ingreso: enero-2009
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 0
ocultar/mostrar capa

tengo una web sencilla en la que tengo varios divs (menu, cuerpo, etc..)
la cosa esta en que en el menu tengo una serie de links que quiero que se carguen
en el div cuerpo.. pero como no tengo ni zorra de ajax he pensado en trabajar con capas. tengo esta función pero nosé como hacer para pasarle como parametro el div que quiero ocultar ya que hay bastantes secciones. gracias de antemano.

function mostrar(nombre)
{
noticias.style.visibility="hidden";
nombre.style.visibility="visible";
}

<a href="#" onclick="mostrar(videos)">videos</a>
  #2 (permalink)  
Antiguo 06/06/2011, 09:02
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: ocultar/mostrar capa

Lo mejor para ocultar algo es usar la propiedad display, porque la propiedad visibility oculta el elemento pero este sigue ocupando sitio en la página.

Para lo que quieres hacer lo mejor sería que cada div que quieres ocultar o mostrar le pusieses un id.

Luego le pasas el id a la función:

Código Javascript:
Ver original
  1. function mostrar(id)
  2. {
  3. document.getElementById(id).style.display="block";
  4. }

Y el html:

Código HTML:
Ver original
  1. <a href="#" onclick="mostrar('videos')">videos</a>
  2.  
  3. <div style="display:none" id="videos">Texto</div>
  #3 (permalink)  
Antiguo 06/06/2011, 09:06
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: ocultar/mostrar capa

Hola:

Si los contenidos que pretendes cargar son de índole variada, te recomiendo que uses enlaces normales... y si debes cargar contenidos similares uses includes...

Con Ajax puedes cargar contenidos, pero debes realizar trabajos extras para que valgan los scripts asociados, a la vez que tendrás problemas cuando decidas un buen posicionamiento en los buscadores (sitemaps, palabras clave...)

Siempre he dicho que es un vicio perjudicial... claro que cada uno hace lo que le da la gana...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 06/06/2011, 10:52
 
Fecha de Ingreso: enero-2009
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: ocultar/mostrar capa

gracias por las respuestas. probaré de moneto con display ya que ajax ando muy pez.. la cosa está en como quito el div que este en ese momento activo.. pero para desactivar el que este activo en ese momento.. como puedo hacerlo?
  #5 (permalink)  
Antiguo 06/06/2011, 11:06
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: ocultar/mostrar capa

Para eso sería mejor ponerle una clase al elemento que esté siendo mostrado actualmente y cuando pinches en otro, que se oculto el que tenga esa clase.

Para ello yo utilizaría JQuery, que es una librería para javascript muy útil y que facilita el trabajo.

Te pongo un ejemplo:

Código HTML:
Ver original
  1.   <meta http-equiv="content-type" content="text/html; charset=UTF-8">  
  2.   <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.js"></script>
  3.  
  4.   <link rel="stylesheet" type="text/css" href="/css/normalize.css">
  5.   <link rel="stylesheet" type="text/css" href="/css/result-light.css">
  6.  
  7.   <style type="text/css">
  8.     .active{
  9.  display:block;  
  10. }
  11.  
  12. .ocultos{
  13.   display:none;    
  14. }
  15.   </style>
  16.  
  17.   <script type="text/javascript">
  18.    
  19.  
  20.   function mostrar(id)
  21. {
  22. $('.active').removeClass('active').addClass('ocultos');  
  23.  $('#'+id).removeClass('ocultos').addClass('active');
  24. }
  25.   </script>
  26.  
  27. </head>
  28.   <a href="#" onclick="mostrar('videos')">videos</a>
  29. <a href="#" onclick="mostrar('otros')">otros</a>
  30.  
  31. <div class="ocultos" id="videos">Texto</div>
  32. <div class="active" id="otros">Texto 2</div>
  33.  
  34. </body></html>
  #6 (permalink)  
Antiguo 07/06/2011, 02:15
 
Fecha de Ingreso: enero-2009
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: ocultar/mostrar capa

la verdad no tengo ni idea por donde empezar con jquery xD que negao soy

se me a ocurrido esto que aunque creo que es un poco chapucero teniendo ajax y jquery. creo que puede funcionar. La cosa esta en tener toda la información de la web en un div en <P> y crear un bucle que recorra todos los hijos del div y oculte los que estan activos para despues activar el que yo quiero ..

function mostrar(nombre)
{
var lista=document.getElementById('noticias');
for(i=0;i<lista.childNodes.length;i++)
{
if(lista.childNodes[i].style.display="block")
{
lista.childNodes[i].style.display="none";
}
}

nombre.style.display="block";
  #7 (permalink)  
Antiguo 08/06/2011, 08:58
 
Fecha de Ingreso: mayo-2008
Mensajes: 117
Antigüedad: 16 años
Puntos: 8
Respuesta: ocultar/mostrar capa

no he leido todas las respuestas .. pero lo de mostrar ocultar div con jquery, tienes un ejemplo aqui... http://www.forosdelweb.com/f13/conca...bre-id-919709/

Espero que te sirva
  #8 (permalink)  
Antiguo 23/12/2011, 14:06
 
Fecha de Ingreso: septiembre-2011
Mensajes: 18
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: ocultar/mostrar capa

Lo hice con Jquery. Muchas gracias y disculpar el retraso en contestar.

Etiquetas: capas
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:27.