Lightbox
Overview
Project Lead: Eric Poirier (@ericpoirier)
Light box is a jQuery plugin that helps you build photo gallery out of pictures on a web page.
Purpose
- Displays images and other content using the ColorBox plugin.
- Easy navigation in image galleries using mouse, touchscreen or keyboard.
Implementation
Each picture gallery groups and single pictures must be inside its own <div>
using the "wet-boew-lightbox" class. Also, every <img>
elements must be inside its own <a>
.
Example:
<div class="wet-boew-lightbox">
<a class="lb-item" href="image/image_source.jpg" title="Alt text for the image">
<img src="image/image_source.jpg" alt="Alt text for the image">
</a>
</div>
Note: The class "lb-item
" is used here as an example. Bellow are the options to implement the Lightbox.
Options
Single Items
To implement Light box to a single image/picture on your page you need to use the class lb-item
on the <a>
tags.
<div class="wet-boew-lightbox">
<a class="lb-item" href="images/image_source.jpg" title="Alt text for the image">
<img src="images/image_source.jpg" alt="Alt text for the image" class="image-actual" />
</a>
</div>
Item Gallery
To implement Light box to a group of images/pictures on your page you need to use this code:
<div class="wet-boew-lightbox">
<ul class="lb-gallery">
<li>
<a class="lb-item-gal" href="images/image_source.jpg" title="Alt text for the image">
<img src="images/image_source.jpg" alt="Alt text for the image" class="image-actual" />
</a>
</li>
<li>...</li>
<li>...</li>
</ul>
</div>
Hidden Item Gallery
To implement Light box to a group of hidden images/pictures on your page you need to use this code:
<div class="wet-boew-lightbox">
<ul class="lb-hidden-gallery">
<li>
<a class="lb-item-gal" href="images/image_source.jpg" title="Alt text for the image">
<img src="images/image_source.jpg" alt="Alt text for the image" class="image-actual" />
</a>
</li>
<li>...</li>
<li>...</li>
</ul>
</div>
Alternative Image Title
To implement an alternative image title for a light box use the light box link's data-title
attribute to specify a page element by its ID:
<div class="wet-boew-lightbox"> <a class="lb-item" href="image/image_source.jpg" title="Alt text for the image" data-title="element_id"> <img src="image/image_source.jpg" alt="Alt text for the image"> </a> </div> <p id="element_id">Alternative light box title for the image</p>
Styling
By default, there are no additional classes used to style the gallery as it appears in the working demo. In order to style the lightbox gallery to look like it does in the demo, some extra classes can be used to remove the bullets, indentation and resize the images:
<div class="wet-boew-lightbox">
<ul class="lb-gallery equalize list-bullet-none indent-none">
<li class="span-2 float-left margin-right-none" >
<a class="lb-item-gal" href="image1.jpg" title="Image 1 title">
<img src="thumb_image1.jpg" alt="Image 1 title" />
</a>
</li>
<li class="span-2 float-left margin-right-none" >
<a class="lb-item-gal" href="image2.jpg" title="Image 2 title">
<img src="thumb_image2.jpg" alt="Image 2 title" />
</a>
</li>
[...]
</ul></div>
Force Photo Link
Applying the force-photo
class on the div containing wet-boew-lightbox
forces Light Box to display a link as a photo. Use this when automatic photo detection fails (such as using a url like photo.php
or &photo=1234
instead of photo.jpg
)
Example:
<div class="wet-boew-lightbox force-photo">
<a class="lb-item" href="photo.php" title="Alt text for the image">
<img src="image/image_source.jpg" alt="Alt text for the image">
</a>
</div>
Applying Additional Settings
There are many behaviours for the Light Box plugin (based on the ColorBox project) which are documented here. To apply these additional settings, add a data-wet-boew
attribute containing your additional settings like so:
<div class="wet-boew-lightbox" data-wet-boew="speed:5000,opacity:0.1">
Sending Additional data to AJAX content
It is possible to send additional data to AJAX content via the POST HTTP method. The data is specified on individual lightbox items using the data-wet-boew-lightbox attribute and the postData parameter. The data assigned to the postData parameter must be a valid JSON object.
<div class="wet-boew-lightbox">
<ul>
<li class="box">
<a class="lb-item" title="Example of AJAX content" data-wet-boew-lightbox='{"postData": {"foo":"bar", "ping":"pong"}}' href="ajax/ajax-en.html">AJAX content</a>
</li>
</ul>
</div>
Examples
Development
Lightbox depends on ColorBox (MIT license).
The code for Lightbox is located in several places within the source folder of WET:
- js/workers/lightbox.js - contains the JavaScript code for Lightbox
- js/sass/lightbox.scss - contains the CSS for Lightbox
- js/images/lightbox - contains the images for Lightbox
- js/dependencies/colorbox.js - script file for ColorBox
Known Issues
None at this time.
Version History
References
- Date modified: