Sexy Lightbox 2 es un clon, más sexy y más liviano, del clásico Lightbox. Esta versión es compatible con imágenes, y elementos HTML!
Ahora, Sexy Lightbox es compatible con HTML! quiere decir que vas a poder mostrar elementos, páginas, videos, y todo lo que quieras meter, dentro del lightbox!
Además, ahora las imágenes grandes (hablamos de imágenes muy grandes
) se ajustan automáticamente al tamaño de la ventana del navegador.
Compatibilidad con areamaps agregada!
Sexy Lightbox 2 requiere el framework Mootools 1.2.2 o jQuery 1.3.2 y funciona tanto en navegadores modernos, como en Internet Explorer.





Puedes ver la demostración del script en los siguientes enlaces:
SexyLightbox 2 es compatible con los siguientes lightbox, ya que fue construido usando la misma lógica:
Nota: Ésta versión 2 NO es compatible con Sexy Lightbox 1.
Sube todos los archivos de Sexy Lightbox 2 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 “dir” de la clase. Mas abajo se explica como hacerlo.
Escribe el siguiente código entre las etiquetas HEAD de tu página:
Mootools:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/mootools/1.2.3/mootools-yui-compressed.js"></script> <script type="text/javascript" src="sexylightbox.v2.3.mootools.js"></script> <link rel="stylesheet" href="sexylightbox.css" type="text/css" media="all" />
Atención: Para ahorrar ancho de banda, puedes usar la versión comprimida de SexyLightbox, para ello en vez de incluir el archivo “sexylightbox.v2.3.mootools.js”, debes poner este: “sexylightbox.v2.3.mootools.min.js”
jQuery:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript" src="jquery.easing.1.3.js"></script> <script type="text/javascript" src="sexylightbox.v2.3.jquery.js"></script> <link rel="stylesheet" href="sexylightbox.css" type="text/css" media="all" />
Atención: Para ahorrar ancho de banda, puedes usar la versión comprimida de SexyLightbox, para ello en vez de incluir el archivo “sexylightbox.v2.3.jquery.js”, debes poner este: “sexylightbox.v2.3.jquery.min.js”
Finalmente, agrega la siguiente declaración justo debajo de las lineas anteriores:
MooTools:
<script type="text/javascript">
window.addEvent('domready', function(){
SexyLightbox = new SexyLightBox();
});
</script>
jQuery:
<script type="text/javascript">
$(document).ready(function(){
SexyLightbox.initialize();
});
</script>
Usar Sexy Lightbox 2 es fácil! solo debes añadir la propiedad rel=”sexylightbox” a tus enlaces:
<a href="imagen.jpg" title="algún titulo" rel="sexylightbox">Ver imagen</a>
Opcional: usa la propiedad “title” si quieres mostrar una descripción para la imagen.
La palabra clave “sexylightbox” 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 entre corchetes en la propiedad “rel”:
<a href="senorms.jpg" rel="sexylightbox[galeria]">Enlace 1</a> <a href="imagen.jpg" rel="sexylightbox[galeria]">Enlace 2</a> <a href="cualquiera.jpg" rel="sexylightbox[galeria]">Enlace 3</a>
No hay limites en la cantidad de galerías.
Hay 3 maneras de mostrar contenido HTML en el lightbox:
Esta es la manera predeterminada de mostrar contenido. Los parametros “width” y “height” son obligatorios:
<a href="http://www.yoursite.com/view.php" rel="sexylightbox">
Enlace 1
</a>
Para abrir el lightbox se debe especificar el alto y el ancho:
<a href="http://www.yoursite.com/view.php?width=400&height=200" rel="sexylightbox">
Enlace 1
</a>
Además del “width” y “height” se debe pasar el parametro “TB_iframe”:
<a href="http://www.yoursite.com/view.php?TB_iframe=1&width=400&height=200" rel="sexylightbox">
Enlace 1
</a>
En enlace debe comenzar con “#TB_inline?inlineId=ID” donde ID es el id del contenedor que contiene el código HTML a mostrar.
<div id="MyHTML"> Example </div>
<a href="#TB_inline?inlineId=MyHTML&height=125&width=350" rel="sexylightbox">
Enlace 1
</a>
Tanto el contenido HTML como las imagenes admiten los siguientes parámetros:
Estableciendo modal=1 el lightbox sólo se cerrará clickeando en el botón “Close”, desactivando el evento click al overlay.
<a href="image.jpg?modal=1" rel="sexylightbox">Enlace 1</a>
Establece el color de fondo al lightbox. Muy útil cuando el contenido HTML cargado contiene un fondo distinto al blanco.
<a href="#TB_inline?inlineId=MyHTML&height=125&width=350&background=#00FF00" rel="sexylightbox">Enlace 1</a>
Muestra una leyenda debajo del contenido o imagen. Por este método no es posible ingresar html en la leyenda.
<a href="imagen.jpg?title=Verano del 98" rel="sexylightbox">Enlace 1</a>
La clase SexyLightBox es muy flexible. Lee la siguiente documentación para ver todas las opciones disponibles.
Las siguientes opciones están disponibles para la creación de la clase:
Estilo CSS para el background negro (el que hace el fade). Puedes cambiar el color y la opacidad.
SexyLightbox = new SexyLightBox({
OverlayStyles:{
'background-color':'#fff',
'opacity': 0.6
}
});
jQuery:
SexyLightbox.initialize({
OverlayStyles:{
'background-color':'#fff',
'opacity': 0.6
}
});
Sexy Lightbox trae dos versiones, una en blanco y otra en negro. Por defecto, se usa el negro, pero puedes configurarla para usarla en blanco.
Admite: “black”, “white”, “blanco”, “negro”. Por defecto se usa “black”. Esta opción se utiliza para ubicar las imágenes que se usarán, en el directorio “sexyimages”.
MooTools:
SexyLightbox = new SexyLightBox({color:'white'});
jQuery:
SexyLightbox.initialize({color:'white'});
Admite: “top”, “bottom”. Por defecto se usa “top”. Si quieres que el lightbox aparezca “desde abajo” utiliza “bottom”.
MooTools:
SexyLightbox = new SexyLightBox({emergefrom:'bottom'});
jQuery:
SexyLightbox.initialize({emergefrom:'bottom'});
Palabra clave 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. Además, permite la compatibilidad con Lightbox original, cuya palabra clave es “lightbox”.
MooTools:
SexyLightbox = new SexyLightBox({find: 'lightbox'});
jQuery:
SexyLightbox.initialize({find: 'lightbox'});
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.
MooTools:
SexyLightbox = new SexyLightBox({dir: 'folderimages'});
jQuery:
SexyLightbox.initialize({dir: 'folderimages'});
Para quitar todas las dudas, se incluye a continuación un ejemplo de la configuración total que permite el script:
MooTools:
window.addEvent('domready', function(){
SexyLightbox = new SexyLightBox({
find : 'sexylightbox', // rel="sexylightbox"
color : 'negro',
dir : 'http://www.yoursite.com/images/',
emergefrom : 'bottom',
OverlayStyles : {
'background-color': '#FF0000',
'opacity' : 0.3
}
});
});
jQuery:
$(document).ready(function(){
SexyLightbox.initialize({
find : 'sexylightbox', // rel="sexylightbox"
color : 'negro',
dir : 'http://www.yoursite.com/images/',
emergefrom : 'bottom',
OverlayStyles : {
'background-color': '#FF0000',
'opacity' : 0.3
}
});
});
Puedes acceder al lightbox desde Javascript, mediante las siguientes funciones:
Cierra el lightbox (si es que está abierto).
SexyLightbox.close();
Sacude el lightbox. Útil para mostrar algún error.
SexyLightbox.shake();
Vuelve a escanear el DOM en busca de nuevos enlaces, para abrir con lightbox.
SexyLightbox.refresh();
display(url, title, force)
Abre el lightbox en la url enviada. El parametro “force” (force=’image’) fuerza a mostrar el lightbox como una imagen.
SexyLightbox.display('images/mysql.jpg');
SexyLightbox.display('images/captcha.php', '', 'image');
Gifs animados no se ven en Opera
Esto es un problema de Opera, que no lanza el evento onload cuando se termina de cargar el gif. Sin embargo, una vez que se almacena en el caché, el evento es lanzado correctamente, por lo que la imagen se muestra sin problemas. En resumen No tiene solución.
El flash se muestra por encima del overlay
Para solucionar esto, debes cambiar la propiedad wmode a transparent u opaque.
Si estas usando el script de adobe, deberías tener algo como esto:
AC_FL_RunContent( 'codebase', 'http...', 'pluginspage', 'http...', 'width', '999', 'height', '999', 'src', 'images/home', 'movie', 'images/home', 'quality', 'high', 'wmode', 'transparent' ); //end AC code
var so = new SWFObject("home.swf", "home", "999", "999", "9", "#222222");
so.addParam("allowfullscreen", "true");
so.addParam("allowScriptAccess", "always");
so.addParam("wmode","transparent");
Si por el contrario estas agregando Flash a lo macho, deberías tener algo como esto:
Nota que el wmode se incluye en el embed y como param
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http..." width="999" height="999"> <param name="movie" value="images/home.swf" /> <param name="quality" value="high" /> <param name="wmode" value="transparent" /> <embed src="images/home.swf" width="999" height="999" quality="high" pluginspage="http..." type="application/x-shockwave-flash" wmode="transparent"></embed> </object>
El script es publicado bajo la licencia MIT.
Puedes ver la demostración del script en los siguientes enlaces:
Nada. Pero puedes colaborar comprandome un café ![]()
Este artículo contiene los siguientes archivos:
Sexy Lightbox 2.3.4 - Noviembre 10, 2009
* BugFixed: Corregida la compatibilidad con la propiedad "dir" y "sexyimages" en jQuery
Sexy Lightbox 2.3.3 - Octubre 30, 2009
* BugFixed: Corregida la compatibilidad con la propiedad "dir" y "sexyimages"
Sexy Lightbox 2.3.2 - Octubre 29, 2009
* BugFixed: En IE6 con el shim se quedaba en "cargando..."
* BugFixed: Corregido el sistema de galería, que se arruinó en la anterior versión xD.
Sexy Lightbox 2.3.1 - Octubre 28, 2009
* BugFixed: Arreglado el error en Safari/Chrome cuando el tamaño de la ventana
era menor que la del documento el overlay no tapaba todo, con jQuery.
* BugFixed: Arreglado el error cuando no había titulo pero si era galería, el alto no
correspondía al alto de la imagen.
* BugFixed: Eliminada la función stopImmediatePropagation en la versión de jQuery.
Sexy Lightbox 2.3 - Octubre 15, 2009
* Featured: Clase Overlay reescrita desde 0 basada en la oficial de mootools
* Featured: Nuevo estilo visual para Black & White
* Featured: Nueva propiedad "emergefrom"
* Featured: Las imágenes pueden abrirse con un tamaño fijo, al igual que el contenido html
* Featured: Se precargan las imagenes del estilo, antes de mostrar el lightbox
* BugFixed: zIndex cambiado a 32000 para compatibilizar con SexyAlertBox
* BugFixed: propiedad "imagesdir" sustituída por "dir"
* BugFixed: El lightbox ya no aparece del top=0, sino de arriba del scroll,
dando un efecto mas suave al movimiento.
* BugFixed: Función "display" cambiada a "animate"
* BugFixed: ahora el ajax recibe el parámetro background
* BugFixed: ahora el Overlay recibe el tamaño correcto en Chrome
* BugFixed: Flash & Selects no se ocultan. Si desea ocultar un flash debe establecer
la propiedad wmode=transparent manualmente.
* BugFixed: Tamaño de imagenes y html se setean correctamente ahora.
Sexy Lightbox 2.2 - Junio 1, 2009
* Featured: Rounded corners more smooth
* Featured: Nueva función Refresh().
* Featured: Nueva función Shake().
* Featured: Agregado Modalbox style.
* BugFixed: El contenido/iframe permanecían con el background de la imagen anterior.
* BugFixed: Background negro en Loading, después de ver un video.
* BugFixed: Ajax 404 error.
* Now Compatible with mootools 1.2.2
* Now Compatible with jQuery 1.3.2
Sexy Lightbox 2.1 - Febrero 20, 2009
* Featured: Se ejecuta el js que se incluyan con el ajax.
* Featured: Compatibilidad con teclado (Flechas y tecla ESC)
* Featured: Ahora los contenidos html se pueden agrupar en galerias.
* Featured: Ahora puedes especificar el color de fondo del Lightbox.
* Featured: Si la página pedida por ajax no existe, devuelve 404.
* BugFixed: Posición centrado absoluto.
* BugFixed: IE7 Bug Scroll con overflow:auto.
* BugFixed: Los elementos flash (video), ya no se siguen reproduciendo.
* BugFixed: Arreglado el bug de posición. Ahora el lightbox siempre vendrá de arriba.
* BugFixed: Google Chrome mostraba 2px más de lo que debía.
* Arreglado el CSS para mas compatibilidad.
* Ahora la altura y ancho especificados son del innerDIV y no del Lightbox en total.
* Los eventos se han eliminado.
* El código se ha ordenado listo para codearlo en jQuery.
* Nueva función Close() para cerrar el lightbox.
Sexy Lightbox 2.0.1 - Octubre 15, 2008
* Arreglada Compatibilidad con Opera (overflow: 'visible')
* Posibilidad de agregar código HTML en la propiedad Title
Sexy Lightbox 2.0.0 - Octubre 12, 2008
* Versión Inicial 2
No temirno de entender porqué no me funciona con el ie8 y con el firefox si. A alguien le ocurre lo mismo?
Utiliza la versión de mootools. Esta tabaja bien en IE8
Seguir todos los pasos, utilizando jquery.. todo subido a un servidor y pegado antes de con la ultima version jquery 1.3.2 y no hay manera de que funcione en IE8, haber si alguien me puede orientar,gracias.
Ola,
Todo me parese muy interesante, pero mi español no esta bastante bueno para comprender bien este articolo.
Hay este articolo en inglés tambien?
Gracias!
Rolf (Olanda)
How stupid! Completely overlooked the translation option above!
Forget my previous post.
Hi,
I like Sexy-Light box very much!
I’d like to know whether is is possible
1: to use a background image for the box
2: how can I make it to automatically size to its content. If I don’t know in advance, then setting the height and width in the href may result in a box which is too big or too small.
Cheers,
Jos
Cuando cierro la ventana, como puedo actualizar la pagina padre
BUEN TRABAJO DOC LO FELICITO, MI CONSULTA ES Q CUANDO LO CORRO EN IE 8 NO ME FUNCIONA, HABRIA Q MODIFICAR ALGO PORQ ARRIBA EN LA PARTE DONDE ESTA LA COMPATIBILIDAD DE NAVEGADORES ME PONER IE 6,7,8
GRACIAS
hola tengo una pregunta como puedo modificar el tamaño de slb ya abierto gracias XD ..
Yo hice la misma pregunta, a ver si hay suerte y alguien nos resuelve el misterio….
En IE6 funciona pero no salen las esquinas ni la parte inferior de la ventana donde sale el title..
hola!!
tngo un problemilla no me aparece la barra de carga de imagenes como la pongo o que archivo es?!
agradezco su ayuda!
Hola.
Tengo un menú, donde al presionar sobre alguna de sus opciones, se carga mediante ajax una galería determinada.
El problema que tengo, es que en ninguna de esas galerias puedo usar SLB.
Se supone que las galerias deberían heredar desde la página padre (donde tengo el div), las librerias de SLB y los estilos, pero nada de eso pasa. Alguien ha pasado por esto??
El código que tengo en las galerias es algo como esto:
Lo que hace, al menos sin usar ajax, es mostrar la imagen y una descripción de esta. Ojalá me puedan ayudar.
Saludo.
Hola, he buscado en las 10 paginas de comentarios y no encuentro la solución a mi problema, a ver si me pueden hechar una mano.
Tengo una pagina con frames: frame1 y frame2. Abro el sexy lightbox desde frame2. El SLB muestra un archivo externo en php, un pequeño formulario que cuando se envie, quiero que se refresque el contenido del frame2.
Uso el siguiente código:
Pero lo único que consigo es que que desaparezcan los frames y el formulario del sexy lightbox se carge a pantalla completa.
¿Como puedo hacer para volver a cargar (refresh) solamente el contenido del frame2?
Muchas gracias!
a ver intentaste con esto:
o con esto:
no me acuerdo como se hacía pero por ese lado iba la cosa ^_^ espero lo logres solucionar
QUE BUENO!!!!
No sabes cuanto me alegra buscar un script, y enterarme que el MEJOR de todos (de 20 que mire) esta hecho por un Argentino!!!!
Y no solamente me encanta que el programador sea argentino, sino que ademas este ponga fotos de nuestro pais!!!
Vamos Argentina carajo!!!
Abrazo grande y muchas felicitaciones,
Rodrigo de Belgrano.
jajaja gracias papá
un abrazo desde Quilmes
Que tal… esperaba que talvez alguien me pueda ayudar… implemente un sexylightbox para un sitio y ahora deseo agregarle informacion a la imagen, ademas del “title”, necesito agregar una descripcion dentro del lightbox correspondiente a la imagen… alguien tiene alguna idea?
Sipo. Mira esta página:
Busca donde dice “inline content”. De esa forma se puede agregar contenido html en SLB. En todo caso, es algo como esto:
Saludos.
muchas gracias… lo he resuelto… felicitaciones de nuevo y gracias por tu tiempo
Eduardo que tal.
Buscando un par de cosas que necesito hacer con slb, como por ejemplo que desde la ventana slb, pudiera abrirse otra ventana para mostrar otra página he hallado el siguiente script, del cual os dejo el link, para ver si te sirve como ejemplo de todo lo que se puede ir añadiendo a tu maravilloso slb.
http://randomous.com/floatbox/demo
ummmmm realmente muy interesante serio super que todos esos ejemplos sean implementaran al slb .
me sorprendio ese ejemplo en la cual le ingresas un dato a un text y al pulsar el boton te sale otra ventana pero no en toda la pantalla sino que solo en una parte de toda la ventana estupendo xD …………
esta muy bueno gracias por el dato
Me pueden enviar un formulario sin que cerrar antes o, incluso, presentar y cerrar?
Hola Eduardo.
Estoy muy agradecido por el material que dejas a disposicion en tu web, ademas el tutorial esta buenisimo..
Estuve intentando poner en practica el sexylightbox y funciona perfecto .. salvo por un pequeño detalle .. el borde superior izquierdo queda al descubierto y la “pieza” que cubre esa esquina se posiciona al centro del borde superior .. ¿como lo puedo solucionar?
Te dejo la pagina de demos, no te mueras por el color, pero frecuentemente uso colores radioactivos para ver mas facil sin hay algo fuera de lugar …
De antemano mil gracias por tu tiempo…
Efectivamente, hay un error en el código CSS.
Temporalmente lo puedes solucionar abriendo el archivo :
sexylightbox.css (línea 50)
en la clase:
#SLB-Wrapper #SLB-Top div { ...deberías agregar esto:
En la próxima versión que voy a sacar ya viene arreglado.
Olvide el link de la pagina…
Demo
Muchisimas gracias!!!
ya esta listo … miralo
que tengas un buen dia
Hola, qué tal? Quería hacer una pregunta. Tengo un problema con un sitio que estoy actualizando. Está realizado con sexylightbox 2.1, y tengo que cambiar una de las fotos. Si la foto es chica, no hay problema, pero si es grande le hace un resize del tamaño que quiere, sin importar lo que yo le especifique en: ej:<a href="aquiles blunt to fackie.jpg?TB_iframe=true&height=20&width=10" rel="sexylightbox", le ponga lo que le ponga sigue el problema. Qué puedo hacer?
Desde ya muchas gracias!!!!
Es que la versión que estás usando justamente no trae para esa opción.
Especificar el tamaño de una imagen por parámetros es algo de la nueva versión, y la razón por la que no te toma el TB_iframe es porque la comprobación de si es una imagen o no viene primero.
Hola, muchas gracias por tu respuesta, ya resolvi el problema. La cuestion era que estaba mostrando contenido html y yo lo estaba laburando como jpg.
Ahora tengo otra duda: hay manera de linkear un boton desde fireworks al sexy lightbox? Es un boton que tiene hecho un over, y cuando vuelco todo al dreamweaver no funcionan ambas cosas a la vez: o funciona el over pero no el sexy lightbox o visceversa. Me podes tirar alguna idea?
Muchas gracias por tu aporte y por responder a todas nuestras dudas!!!
Saludos
Lorena
oe brother como puedo hacer para que a la hora de dar click en cerrar del slb me actualize la ventana padre
Hola!!
Me encanta este script, pero me gustaría saber cómo hacer para que lea las tildes!!!
… agradecería mucho tu ayuda
Un abrazo desde Colombia!!
Quiero sabe como ejecutar como si fuese un alert
el light box
hola me gusto mucho el slb pero tengo una duda, uso base de datos y ejecuto el slb desde javascript por que uso iframes, ahora me gustaria saber como puedo hacer un salto de linea en el slb para poder separar el titulo de la descripcion de la imagen, espero y me puedan ayudar
Ya probaste utilizando la etiqueta de salto de linea:
Hello
I have a list of mp3 file I’d like people to be able to listen to in an jw Player info inline in the lightbox overlay – any ideas how I would go about this?
thank you in advance for your help.
I’m currently using Mediabox Advanced and it’s quite easy to set it up.
Muchas Gracias! Eduardo, sólo una duda al intentar instalarlo me sale este mensaje en joomla 1.5.15–> ¡Error! No puedo encontrar un archivo de configuración XML en el paquete
In the sexyimages black and white folders has bgSexy.gif.png(2 file extensions) and bgSexy.png
It should include bgSexy.gif and bgSexy.png correct?
Si, es como Bob dice, para que funcione bien en IE, hay que renombrar bgSexy.gif.png (en las carpetas black y white) a bgSexy.gif
Saludos!
Hola, que tal?
Quisiera hacer una consulta. He intentando de varias formas poner rel=”sexylightbox” a unas imagenes que estan en una pagina dentro de una ventana para que el slb se muestre en la ventana padre con onclick=”window.parent.SexyLightbox.display(’imagen.jpg’); return false;” , pero no se forma el grupo de enlaces… Que podria hacer, desearia alguna sugerencia
De antemano gracias!!!!
La parte del código que explicas arriba no la comprendo, ya que al copiar y pegar eso en el Head de la página y agregando los archivos CSS y JS que trae el comprimido, no funciona nada de verdad que no se que paso me estoy saltando.
En el efecto SexyLightbox v.1 el comprimido trae además de los JS y CCS, trae el script completo que debo colocar en el head de la página y al copiarlo y pegarlo funciona.
Soy novato y en vista de eso me rijo al 100% de los pasos que colocas en tu explicación, Gracias.
Hola.
Quizás deberías revisar las rutas de esos archivos. Podrías poner el código que pegaste para ver dónde podría estar el error, porque SLB si funciona.
Saludos.
Hi Eduardo! First thanks for your great script. I find a stange thing, don’t know if it’s a bug. I place my thumb image on a folder and my big image on a subfolder on the same folder. With this way gallery function can’t work (next and prev link doesn’t display. I must put my thumb and big image on same folder to get gallery function working. Hope you understand what I mean and tell me if it’s “normal”. Thanks. Aysseline