Sexy Lightbox v1

View this post in Español


Note: This post is deprecated. New version is here: Sexy Lightbox 2.

Sexy Lightbox es un clon, más sexy y más liviano, del clásico Lightbox. Fue construido pensando en los diseñadores webs, de fácil instalación y uso. Esta entrega trae dos versiones: una en blanco y otra en negro.

Sexy Lightbox requiere el framework Mootools 1.2

Compatibilidad: Funciona tanto en navegadores modernos, como en Internet Explorer.

Demostración

Puedes ver la demostración del script en el siguiente enlace: Ver demo.

Instalación

Sube todos los archivos de Sexy Lightbox a tu servidor. Las imágenes, el CSS y el Javascript. Si ubicas la carpeta imágenes en un directorio diferente, debes cambiar la ruta configurando la opción ‘imagesdir’ de la clase. Mas abajo se explica como hacerlo.

Descarga mootools con domready, e incluye los archivos Javascript en el header de tu página.

<script src="mootools.js" type="text/javascript"></script>
<script src="sexylightbox.js" type="text/javascript"></script>

Finalmente, agrega sexylightbox.css en el header:

<link rel="stylesheet" href="sexylightbox.css" type="text/css" media="all" />

¿Cómo se usa?

Primero debemos crear la clase, en el evento domready:

window.addEvent('domready', function() {
    new SexyLightBox();
});

Usar Sexy Lightbox es fácil, solo debes añadir la clase ‘sexylightbox’ a tus enlaces:

<a href="imagen.jpg" title="algún titulo" class="sexylightbox">Ver imagen</a>

Opcional: usa la propiedad ‘title’ si quieres mostrar una descripción para la imagen.

Esta clase puede cambiarse, con la propiedad ‘find’. Lee la sección Configuración General, para aprender como hacerlo.

Si quieres crear una galería a partir de un grupo de enlaces, debes incluir el nombre de la galería en la propiedad ‘rel’:

<a href="senorms.jpg"  class="sexylightbox" rel="galeria">Enlace 1</a>
<a href="imagen.jpg"  class="sexylightbox" rel="galeria">Enlace 2</a>
<a href="cualquiera.jpg"  class="sexylightbox" rel="galeria">Enlace 3</a>

La clase SexyLightBox es muy flexible. Lee la documentación para ver todas las opciones disponibles.

Documentación

Las siguientes opciones están disponibles para la creación de la clase:

  • OverlayStyles

    Estilo CSS para el background.

    new SexyLightBox({OverlayStyles:{'background-color':'#fff', 'opacity': 0.6}});

  • showDuration, closeDuration

    Duración (en ms) de la transición del background.

    new SexyLightBox({showDuration:200, closeDuration:400});

Estilos del Lightbox

Sexy Lightbox trae dos versiones, una en blanco y otra en negro. Por defecto, se usa el negro, pero modificando un par de opciones puedes cambiarlo al blanco.

  • color

    Admite: ‘black’ o ‘white’. Por defecto se usa ‘black’. Esta opción se utiliza para ubicar las imágenes que se usarán, en el directorio ‘sexyimages’.

    new SexyLightBox({color:'white'});

  • hexcolor

    Valor en hexadecimal para el color elegido. Por defecto se usa ‘#000000′.

    new SexyLightBox({color:'white', hexcolor:'#FFFFFF'});

  • captionColor

    Valor en hexadecimal para el color de las descripciones. Por defecto se usa ‘#FFFFFF’.

    new SexyLightBox({color:'white', hexcolor:'#FFFFFF', captionColor:'#000000'});


Configuración general

Propiedad: find
Clase a buscar en los enlaces para aplicar el lightbox. Por defecto se usa ‘sexylightbox’. Esta opción te permite crear varias instancias del lightbox y poder usar cada una en distintos enlaces.
En el siguiente ejemplo, el Enlace1 mostrará el lightbox negro, y el Enlace2 mostrará el blanco:

<script type="text/javascript">
  window.addEvent('domready', function(){
    new SexyLightBox({find:'sexylightbox'}); /* Por defecto, el color es negro */
    new SexyLightBox({find:'sexyblanquito', color:'white', hexcolor:'#FFFFFF', captionColor:'#000'});
  });
</script>

<p><a href="imagen1.jpg" class="sexylightbox">Enlace1</a></p>
<p><a href="imagen2.jpg" class="sexyblanquito">Enlace2</a></p>

Propiedad: imagesdir
Nombre del directorio que contiene las imágenes de estilo. Dentro de este directorio, se encuentran los directorios del color (black y white). Si quieres renombrar o ubicar esta carpeta en otro directorio, debes cambiar esta propiedad.

Licencia

El script es publicado bajo la licencia MIT.

Descargar

Actualización: Disponible Sexy Lightbox 2.

Sólo para propósitos históricos:
Descarga SexyLightBox.v1.zip (sin ejemplos + versión comprimida)

Descarga SexyLightBox-Example.zip (SexyLightbox.js + mootools + ejemplos)

pablasso says:

Vaya, que guapo ha quedado, gracias por compartirlo!

Gerardo says:

Espectacular! Muy pronto lo estaré implementandolo en mi pagina!

Gracias….

alejandro says:

Realmente me encanta la web, y como os a quedado. Tengo un par de preguntas sobre sexylightbox:

por el momento no se puede utilizar para mostrar html( por ejemplo un formulario, y par que se registren los users….)¿cierto?

Aparte, ¿las imagenes que son mostradas pueden ser un enlace a algun sitio? ¿anidando etiquetas se podria?

Un cordial saludo y seguid así vais por buen camino ;)

Pd: heché de menos un “contactanos” o similar , aunque ya me desahogue por aqui jejeje , sorry

Eduardo says:

@alejandro:
Esta es la primera versión del script, y por ahora, no se puede mostrar html. En la proxima versión si se podrá.

Por el momento tampoco puedes enlazar una imagen mostrada dentro del lightbox.

Ten en cuenta que desarrollar este script desde cero, me tomó 3 días, y que apenas es la primera versión y está muy funcional.

Planeo agregar mas características en la versión 2, cuando ya lo agarre con tiempo.

Saludos!

¿Este comentario te ha servido? y colabora con el blog
Reply
Nahuel says:

Hola Eduardo, muy bueno el script, te comento que hice un plugin para agregar sexylightbox a wordpress, si te interesa te lo puedo enviar para compartirlo con toda la comunidad.
Saludos

Luis says:

En el IExplorer 7 no me funciona, probé con la página de prueba:

http://www.coders.me/ejemplos/sexy-lightbox/

y siempre me abre la imágen en un nueva página, como si el jscript estuviera desactivado.

Eduardo says:

@Luis,

Gracias por avisarme, me había olvidado de quitar una coma, ya funciona correctamente.

Saludos!

¿Este comentario te ha servido? y colabora con el blog
Reply
Almorca says:

Muy buen script.

Gracias por publicarlo y por ponerle una licencia tal abierta como la MIT.

weblizzer says:

i really adore this project, can you try to add a fade effect for pictures? so that it wil look nicer than it will show up.

theeleb says:

Me encanta lo de:

Funciona tanto en navegadores modernos, como en Internet Explorer.

Un saludo.

Gustavo says:

Hola, primero que nada una super felicitacion, en verdad su trabajo se les reconoce, esta herramienta esta super chever, solo tengo una duda.. estoy trabajando con una galeria pero mediante la funcion map de dreamweaver, osea 1 imagen le pongo varios links el codigo en si es este:

he probado ya de varias formas y no logro hacer que me coja el efecto, es que no esta preparado para esto? o es un error mio? saludos y gracias de antemano.

Gustavo says:
area shape="rect" coords="9,102,256,220" href="imgs/01.jpg" class="sexylightbox style14"
Eduardo says:

@Gustavo:
El código no está preparado para buscar esa clase en los areamap, solo la busca en los links (tag <a>).

Sin embargo, puedes agregar esta característica modificando dos lineas dentro del sexylightbox.js

La primera linea es la 138, donde dice:

$$("a."+this.options.find).each(function(el) {

Deberías poner:

$$("a."+this.options.find, "area."+this.options.find).each(function(el) {

La segunda linea es la 342, donde dice:

$$("a."+this.options.find).each(function(el){

Deberías poner:

$$("a."+this.options.find, "area."+this.options.find).each(function(el) {

Haciendo estos dos cambios debería funcionar.

Luego, puedes comprimir el archivo con esta herramienta

Saludos!

¿Este comentario te ha servido? y colabora con el blog
Reply
Gustavo says:

Uf! que pronta respuesta tio muchas gracias. pues te comento que lo acabo de implementar y sigue sin funcionarme lo que hace es mostrarme la imagen en modo _self osea me saca de la galeria y me pone la imagen sola.. como siempre gracias.

Eduardo says:

@Gustavo:
Lo voy a investigar, si no te funcionó con lo que te dije, entonces debe ser algo más complicado.

De todas maneras, muy pronto voy a sacar la segunda versión, y gracias a vos tendrá soporte para las areamap.

Cuando digo “muy pronto” me refiero quizás a la próxima semana.

Suscríbete al feed
para mantenerte al tanto!

¿Este comentario te ha servido? y colabora con el blog
Reply
Nahuel says:

A mi me funciono poniendo en las dos lineas mencionadas (138,342) lo siguiente,

$$("area."+this.options.find).each(function(el) {
Gustavo says:

Eduardo, muchas gracias por las molestias ya me he suscrito a este blog y de hecho voy a pasarlo a mis amigos :D

Nahuel, man si a ti ya te funciona puedes ayudarme? agregame al msn porfavor: gochi_glo (arroba) hotmail!com

Gustavo says:

Perdon editaria el post anterior pero no es posible,

Nahuel, con lo que tu pusiste, sigue sin funcionarme, saludos y perdon por tanta molestia…

blog2k says:

habrá opciones de tenerlo en wordpress como plugin?, ha quedado de maravilla

Gustavo says:

Hola buenas noches blog2k te comento que parece que ya hay version para lo que necesitas de hecho puedes checarlo por aqui: Click aqui! sexylightbox para wordpress

Ojala te sirva bro, un saludo y gracias a Eduardo, Nahuel y todos los que aqui ayudan ;)

Gustavo says:

NAHUEEEEEEL!! Jajajaja muchas gracias por tu ejemplo man! me sirvio super bien tambien :D jejeje, ahora si ya me funciona :D gracias a todo el equipo de esta web :D Eduardo y demas ;)

acá esta antes estaba comentando en el sexy alert, pero lo que necesito Eduardo es que al momento de entrar a un web automáticamente aparezca el cuadro del lightbox con un anuncio, algo parecido a los flash ADS.

Joseph says:

Oye… esta increible este post.. solo tengo una duda….
Estaba haciendo uan galeria como mencionas ahi y le pongo el rel y toda la onda pero no me aparecend las flechas en las imagenes, cual puede ser el problema ?

Lo tengo asi ( todas estan de la misma forma)

a href="sexyimages/homerin2.jpg" class="sexylightbox" rel="group1" title="Homerin">

Gracias

Eduardo says:

@Joseph:
Postea más código para poder ver cual es el problema.

Gracias.

¿Este comentario te ha servido? y colabora con el blog
Reply
Joseph says:

Hola Eduardo
Aqui esta el codigo de las tres imagenes, gracias


	
	
	
Eduardo says:

@Joseph:
Para agrupar las imágenes necesitas poner el mismo rel.

Por ejemplo:

< a href="sexyimages/homerin2.jpg" title="Homerin" class="sexylightbox" rel="nofollow">1
< a href="sexyimages/homerin2.jpg" title="Homerin" class="sexylightbox" rel="nofollow">2
< a href="sexyimages/homerin2.jpg" title="Homerin" class="sexylightbox" rel="nofollow">3

(El sistema le mete el nofollow automáticamente, pero sí! si sirve si los 3 enlaces tienen la misma etiqueta rel.)

Si vuelves a postear código, intenta no poner <a para que el wordpress no modifique el comentario ^_^

¿Este comentario te ha servido? y colabora con el blog
Reply
Joseph says:

Hola Eduardo…
Puse el mismo codigo que acabas de poner pero me da lo mismo… no pone las flechas

No se si estare pasando por algo algun detalle

Hay alguna forma de mandarte todo el codigo para que lo veas ?

Gracias

Eduardo says:

enviamelo por mail a algoritmatica arroba gmail punto com

¿Este comentario te ha servido? y colabora con el blog
Reply
luzfeliz says:

ahora solo falta que lo pongan como un widget para wordpress!