Foros del Web » Programando para Internet » Javascript »

Mostrar y Ocultar un div

Estas en el tema de Mostrar y Ocultar un div en el foro de Javascript en Foros del Web. Hola, me pregunta es la siguiente: tengo una página con varios 'div' al cargar todo están ocultos, con una función abro cada div especifico pero ...
  #1 (permalink)  
Antiguo 05/03/2015, 15:00
 
Fecha de Ingreso: marzo-2015
Mensajes: 1
Antigüedad: 9 años, 1 mes
Puntos: 0
Pregunta Mostrar y Ocultar un div

Hola, me pregunta es la siguiente: tengo una página con varios 'div' al cargar todo están ocultos, con una función abro cada div especifico pero quiero que al abrir uno se cierren los demás, es decir que solo pueda abrir uno a la vez, como podría hacer esto?

la función que utilizo para mostrar y ocultarlos es la siguiente:


function muestra_oculta(id){
if (document.getElementById){ //se obtiene el id
var el = document.getElementById(id); //se define la variable "el" igual a nuestro div
el.style.display = (el.style.display == 'none') ? 'block' : 'none'; //damos un atributo display:none que oculta el div
}
}
window.onload = function(){/*hace que se cargue la función lo que predetermina que div estará oculto hasta llamar a la función nuevamente*/
muestra_oculta('servidormasviajes');/* "contenido_a_mostrar" es el nombre que le dimos al DIV */

}

la mando a llamar en el 'onclick' de los botones del menú.
  #2 (permalink)  
Antiguo 05/03/2015, 17:43
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 1 mes
Puntos: 16
Respuesta: Mostrar y Ocultar un div

Eso es javascript, no HTML.

pero bueno, si estas usando javascript puro lo que se me ocurre es que intentes capturar
los selectores por medio de una clase CSS que le hayas agregado, luego los recorras. apliques lo que deseas y despues de eso abras el tuyo.

Código Javascript:
Ver original
  1. objetos = document.getElementByClassName("tuClaseCSS");
  2. //ocultas todo
  3. for(i=0;i<objetos.length;++i){
  4.     objetos[i].display=none;
  5.  
  6. }
  7. //muestras el tuyo
  8.  
  9. document.getElementById(tuId).display=block;
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos
  #3 (permalink)  
Antiguo 05/03/2015, 18:05
Avatar de AngelKrak  
Fecha de Ingreso: noviembre-2014
Mensajes: 917
Antigüedad: 9 años, 4 meses
Puntos: 91
Respuesta: Mostrar y Ocultar un div

con este script puedes hacerlo ;) nomas modificalo por lo tuyo ;)

Cita:
<script type='text/javascript' src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function(){
$("#mostrar").click(function(){
$('#target').show(); //muestro mediante id
$('.target').show(); //muestro mediante clase
});
$("#ocultar").click(function(){
$('#target').hide(); //oculto mediante id
$('.target').hide(); //muestro mediante clase
});
});
</script>
  #4 (permalink)  
Antiguo 06/03/2015, 02:36
 
Fecha de Ingreso: enero-2015
Mensajes: 205
Antigüedad: 9 años, 2 meses
Puntos: 18
Respuesta: Mostrar y Ocultar un div

Pues fácil,
haces una función que recibe un parámetro diciendo cual se va a abrir, y ahora.

Haces click, llama a la función, se cierran todos, y se abre el que le has pasado por parámetro.
Y listo
  #5 (permalink)  
Antiguo 06/03/2015, 11:03
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Mostrar y Ocultar un div

Desde la hoja de estilos, oculta todos los <div> y crea una clase que hará visible al <div> al que se la apliques. Luego, cuando pulses cualquiera de los botones del menú, buscas al <div> que posea la clase, se la quitas y se la asignas al <div> que corresponda con la opción marcada.

Código HTML:
Ver original
  1. <nav>
  2.     <li data-div = "a">Opción 1</li>
  3.     <li data-div = "b">Opción 2</li>
  4.     <li data-div = "c">Opción 3</li>
  5. </nav>
  6.  
  7. <div id = "a">Contenido 1</div>
  8. <div id = "b">Contenido 2</div>
  9. <div id = "c">Contenido 3</div>

Código CSS:
Ver original
  1. div{
  2.     display: none;
  3. }
  4.  
  5. .visible{
  6.     display: block;
  7. }

Código Javascript:
Ver original
  1. var aux;
  2.  
  3. [].forEach.call(document.querySelectorAll("nav li"), function(li){
  4.     li.addEventListener("click", function(){
  5.         aux = document.querySelector(".visible");
  6.         if (aux){
  7.             aux.className = "";
  8.         }
  9.         document.querySelector("#" + this.dataset.div).className = "visible";
  10.     }, false);
  11. });

DEMO

No olvides colocar el código JavaScript luego del último elemento de tu documento HTML y justo antes de la etiqueta </body> para que surta efecto.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: funciones, html
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 18:38.