Foros del Web » Programando para Internet » Javascript »

Ocultar y mostrar varios divs

Estas en el tema de Ocultar y mostrar varios divs en el foro de Javascript en Foros del Web. Hola, soy un ignorante total en javascript. Quiero hacer una página con un vídeo de fondo, y con unos links en la parte superior, que ...
  #1 (permalink)  
Antiguo 05/03/2010, 02:42
 
Fecha de Ingreso: enero-2004
Mensajes: 58
Antigüedad: 20 años, 3 meses
Puntos: 3
Ocultar y mostrar varios divs

Hola, soy un ignorante total en javascript.

Quiero hacer una página con un vídeo de fondo, y con unos links en la parte superior, que al pulsar en cada uno de ellos me muestre un div encima del vídeo y que luego pueda cerrarlo.

Encontré un código para mostrar y ocultar un div que me funciona:
<script>

function mostrardiv() {

div = document.getElementById(‘flotante’);

div.style.display = ”;

}

function cerrar() {

div = document.getElementById(‘flotante’);

div.style.display=’none’;

}

</script>

<div id=”mostrarDiv”><a href=”javascript:mostrardiv();”>Mostrar Div</a></div>
<div id=”flotante” style=”display:none;”> Este es un div oculto <br><a href=”javascript:cerrar();”> presiona aquí para cerrar</a> </div>
-------------------

Mi pregunta es la siguiente. ¿Cómo hago para mostrar/ocultar más div?

La manera 'cutre' sería duplicar el código javascript y cambiar las id de los divs, pero no sé si metiendo tanto javascript ralentizaría la página al cargar.

Un saludo y gracias.
  #2 (permalink)  
Antiguo 05/03/2010, 05:23
 
Fecha de Ingreso: enero-2004
Mensajes: 58
Antigüedad: 20 años, 3 meses
Puntos: 3
Respuesta: Ocultar y mostrar varios divs

Luego he visto otro código:

<script type="text/javascript">
<!--
function items(id){
var obj = document.getElementById('item_' + id)
if(obj.style.display == 'block') obj.style.display = 'none'
else obj.style.display = 'block'
}
function ocultaItems(){
listado = document.getElementById('listaEmpresas')
contenedores = listado.getElementsByTagName('div')
numContenedores = contenedores.length
for(m=0; m < numContenedores; m++){
if(contenedores[m].id.indexOf('item_') == 0)
contenedores[m].style.display = 'none'
}
}
//-->
</script>


y se llama a lafunción a través de éste:

<script type="text/javascript">
<!--
ocultaItems()
//-->
</script>

Pero no funciona a la primera, y no sé por qué. Esto está hecho para que cada vez que se pulse en el texto se muestre o se oculte, pero la primera no funciona, hay que darlede segundas para que lo haga. Tanto en el ejemplo que ponen abajo de esta página como el que he puesto yo, le sucede lo mismo.
  #3 (permalink)  
Antiguo 05/03/2010, 05:59
 
Fecha de Ingreso: enero-2004
Mensajes: 58
Antigüedad: 20 años, 3 meses
Puntos: 3
Respuesta: Ocultar y mostrar varios divs

Ya he solucionadolo del último código para que no haya que darle dos veces:

El problema es que, al parecer, si el div empieza con display:none, el javascript piensa que el atributo está vacío. Lo que hay que hacer es testear por "block" en vez de por "none".

Lo encontré rastreando la red.

Etiquetas: Ninguno
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 00:08.