Para que el efecto fuera más parecido a las susodichas ventanas modales, sólo nos faltaba conseguir que todo el contenido de la página excepto el propio bloque emergente, atenuara su color a la manera que ocurre con Lightwindows, Lytebox y todos estos.
Pues a través de un sistema de capas solapadas, vamos a simular algo parecido. De esta manera, si sólo vamos a necesitar este efecto para usarlo de forma esporádica, nos podemos ahorrar instalar el script, asà como la demora que produce su carga para todas las páginas.
Partiendo de la pestaña vertical que vimos el otro dÃa, a la izquierda podeis pinchar para ver un ejemplo del resultado. Si os gusta, a continuación teneis la explicación de cómo montar el código y al final el código completo para poder copiar y pegar.
(1) En primer lugar creamos el pequeño script que muestra/esconde elementos. Esto también se explicó anteriormente y si ya lo instalasteis, no será necesario hacerlo otra vez.
(2) Después, creamos la pestaña con el enlace. En esta ocasión el enlace tiene que ser la llamada al script anterior y que permite por un lado visualizar/esconder una capa de color negro semitransparente y por el otro visualizar/esconder un bloque de información. Como lo de la pestaña ya lo vimos anteriormente, simplemente marcamos en verde la forma de hacer estas llamadas.
(3) Por último, creamos las capas con la clase .invisible para que inialmente no se vean. Importante añadirle a cada una, el mismo id que pusimos en la llamada del script explicada en primer lugar de esta entrada: idatenuar e idbloque.
La primera capa (idatenuar) formará la atenuación del contenido de la página. Para ello se posiciona de forma fija, se le hace ocupar el 100% del alto/ancho de la página y además se le añade una transparencia (80% en el ejemplo). Con el z-index:99conseguimos que la capa negra semitransparente se quede por encima de la página.
(4) Ahora haremos una segunda capa (idbloque) que ocultamos también con la clase invisible, que se fijará de la misma manera, pero que ocupará un espacio menor (400x300 px en el ejemplo). Habrá que colocarle un z-index superior al de la anterior capa para que se quede por encima. Dentro de ella, además del contenido que queremos mostrar, insertamos un DIVcon una X que incluye enlace al javascript creado al principio y que nos permitirá cerrar tanto la anteriormente creada capa negra (idatenuar) como la que vamos a crear ahora(div id="idbloque").
Un esquema por si no se ha entendido muy bien:
idbloque: contenido a mostrar en ventana emergente
- Estilo script con función plegardesplegar
- Script con funcion plegardesplegar
- Estilo pestaña
- Pestaña con enlace a función plegardesplegar, bloques idatenuar e idbloque
- Capa negra semitransparente intermedia que ocupa todo el espacio disponible
- Capa con el contenido a mostrar
- Anidada dentro de esta capa, otra con un enlace a la función plegardesplegar y que permite cerrar la ventana
(comillas dobles y simples sustituidas por ' y " respectivamente
para que funcione bien dentro de la plantilla Blogger)
No hay comentarios:
Publicar un comentario