Foros del Web » Programando para Internet » Javascript »

mostrar/ocultar

Estas en el tema de mostrar/ocultar en el foro de Javascript en Foros del Web. Buenas Necesito ayuda!! El problema es el siguiente . Tengo un menu con Opcion 1 Opcion 2 Opcion 3 Y quiero al clicar sobre cada ...
  #1 (permalink)  
Antiguo 29/10/2012, 18:32
 
Fecha de Ingreso: septiembre-2012
Mensajes: 3
Antigüedad: 12 años, 3 meses
Puntos: 0
Información mostrar/ocultar

Buenas

Necesito ayuda!!
El problema es el siguiente .
Tengo un menu con
Opcion 1
Opcion 2
Opcion 3

Y quiero al clicar sobre cada enlace se muestre un div con informacion y si por ejemplo clicas opcion 3 que oculte la 2.

He leido varios tema acerca de esto pero no me aclaro mucho.

Encontre este codigo y lo adapte

function cambiar(idCapa){
if (document.all) capa = eval(idCapa + ".style");
if (document.getElementById) capa = eval('document.getElementById("' + idCapa + '").style');
if ((capa.visibility == "hidden") || (capa.visibility == "hide"))
{capa.visibility="visible" ;
capa.display="";
}
else
{capa.visibility="hidden";
capa.display="none";}
if (antes==null)
{antes=capa;}
else
{antes.visibility="hidden" ; antes.display="none"; antes=capa;
}
}


El codigo me funciona el problema es que para que funciones tengo que pinxar opcion 1 opcion 2 y opcion 1 y a partir de ahi el codigo funciona sin problemas.

¿Alguna idea de lo que ocurre? Gracias.
  #2 (permalink)  
Antiguo 29/10/2012, 19:45
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: mostrar/ocultar

Tienes razón hay nuchos temas acerca de este tema, nuestro colega @furoya se tomó el trabajo de hacer una reseña, y tan solo con los ejempos que están en el foro.
La podés ver aqui
http://www.forosdelweb.com/f13/apare...8/#post4300505

A las mencionadas (de las cuales no hago juicio alguno) sumo otra variante, que creo no está contemplada, el css, salvo esto

#Uno,#Dos,#Tres{
display: none;
}

que oculta las capas por defecto, es completamente opcional

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>mostrar oculta capas</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <style type="text/css">
  7. /*<![CDATA[*/
  8. p{
  9. font-weight: bold;
  10. font-size: 11pt;
  11. width: 180px;
  12. cursor: pointer;
  13. font-family: arial, serif;
  14. padding: 5px;
  15. border: dotted 1px #554F9D;
  16. margin-bottom: 2px;
  17. margin-top: 3px;
  18. background-color:white;
  19. }
  20. #Uno,#Dos,#Tres{
  21. display: none;
  22. width: 180px;
  23. font-family: arial, serif;
  24. padding: 15px 5px;
  25. border: dotted 1px #554F9D;
  26. background-color:#A3AD76;
  27. font-size: 10pt;
  28. margin-top: 3px;
  29. margin-bottom:20px;
  30. }
  31. /*]]>*/
  32. <script type="text/javascript">
  33. //<![CDATA[
  34. function contenido(cual){
  35. var capas = new Array("Uno", "Dos", "Tres");
  36. for(var i in capas){
  37. var e = document.getElementById(capas[i]);
  38. capas[i] == cual?e.style.display='block':e.style.display='none';       
  39. }
  40. }
  41. //]]>
  42. </head>
  43. <p onclick="contenido('Uno')" >uno</p>
  44. <div id="Uno">Texto uno</div>
  45. <p onclick="contenido('Dos')" >dos</p>
  46. <div id="Dos">Texto dos</div>
  47. <p onclick="contenido('Tres')" >tres</p>
  48. <div id="Tres">Texto tres</div>
  49. </body>
  50. </html>

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 30/10/2012, 09:21
 
Fecha de Ingreso: septiembre-2012
Mensajes: 14
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: mostrar/ocultar

Amigo justo yo tenia ese problema y lo resolvi con una funcion y pase de parametros, en el cual los primeros parametros son para ocultar y el ultimo para mostrar, fijate aca:

Código HTML:
<script>
function MuOc(id, id2, id3, id4){
var oculta = document.getElementById(id); //se define la variable "oculta" igual a nuestro div
var oculta2 = document.getElementById(id2);
var oculta3 = document.getElementById(id3);
var muestra = document.getElementById(id4);
oculta.style.display='none';//damos un atributo display:block que el div
oculta2.style.display='none';	
oculta3.style.display='none';
muestra.style.display='block';
}
</script> 
en el boton, la funcion onclick="MuOc('nombreAOcultar,''nombreAOcultar2,'' nombreAOcultar3,''nombreAMostrar,)'"

Espero te sirva

Etiquetas: funcion, mostrar-ocultar
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 08:05.