jquery.yalb
v0.3.3
Published
Yet Another LighBox. Easy to use and out of the Box
Readme
Yalb
Yet Another LightBox
Easy to use, out of the box
If you are looking for a plain-javascript-version take a look at yalb!
Getting Started
Download the production version or the development version. Or run
bower install jquery.yalbInclude yalb after jquery in your web page:
<link rel="stylesheet" href="dist/yalb.min.css">
<script src="jquery.js"></script>
<script src="dist/jquery.yalb.min.js"></script>
<script>
jQuery(function($) {
var images = [
'img1.jpg',
'img2.jpg',
'img3.jpg',
'img4.jpg',
'img5.jpg'
]
$.yalb(images);
// or just
$('img').yalb();
// for other possibilities to call yalb see below
});
</script>Documentation
Collections you can pass to Yalb / Examples
arrayfilled withStringsvar images = [ 'img1.jpg', 'img2.jpg', 'img3.jpg', 'img4.jpg', 'img5.jpg' ]; $.yalb(images);NodeListorArrayofNodesvar images = document.getElementsByTagName('img'); $.yalb(images); // or var links = document.getElementsByTagName('a'); $.yalb(links, {src: 'href'}); // or any other node with an attribute containing the path // e.g. <span data-image="/path/to/image.jpg" $.yalb(span, {src: 'data-image'});jQuery-Collectionvar images = $('img'); $.yalb(images); // or of course $('img').yalb(); // or same as aboveselfmade object containing the path
var images = [ { foo: 'bar' path: 'path/to/image.jpg' }, { // and so on } ]; $.yalb(images, {src: 'path'}); // or even var images = [ { path: { 'to': { 'image': 'path/to/image.jpg' } } }, { // and so on } ]; $.yalb(images, {src: 'path.to.image'});
Options
The following options can be passed when calling yalb:
src(default:'src'), Attribute where the path is located.current(default:0), The image which is presented when opening yalbclass(default:'yalb'), The class passed to the html-container of yalbloop(default:true), If true, images will be repeated when hitting the first/last imageopen(default:true), If true, yalb opens when calledwidth(default:0), max-with of the Yalb-windowheight(default:0), max-height of the Yalb-window
You can change the default values for the whole page by assigning to $.yalb.defaults
$.yalb.defaults = {
src: 'src',
current: 0,
'class': 'yalb',
loop: true,
open: true,
width: 0,
height: 0
};Methods
You can control the behavior of yalb with the following methods
$.yalb.open()- Opens yalb when still not open$.yalb.close0()- Close yalb; same as hitting the close-button$.yalb.next()- Next Image; same as hitting the next-button$.yalb.prev()- Previous Image; same as hitting the prev-button$.yalb.show(index)- Changes to the image on positionindex$.yalb.on()- Binds handler to an event (take a look at the Events-section)$.yalb.off()- Removes Handler (Caution!! - This will also remove handlers used by yalb itself when you don't explicitely specify a listener which should be removed or when you don't use namespaced events)$.yalb.get()- Gets the jQuery-instance of the container on which all events are triggered
Events
You can listen to the following Events when using yalb:
change- When the image has changedopen- When open is called (per Method or per yalb-call withopen:true)close- When close-button is pressednext- When next-button is pressedprev- When prev-button is pressedshow- When show is called
Style
You can style yalb to your own needs. An example-style is shipped with the code. You can change it to your needs. Every button used is styled with css-only. No icon is needed. Even the loading-animation is css.
Take a look into the css-file - it's selfexplaining!
