nanoGALLERY jquery plugin : Very easy to implement image gallery. It is touch enabled, responsive, fast and it supports cloud storage.
Featuring multi-level navigation in albums, lightbox, many hover effects on thumbnails, slideshow, fullscreen, pagination, image lazy load, themes, bootstrap compatibility, customizable, i18n, and pulling in Flickr/Picasa/Google+ photo albums among others.
Feature list
Spice up your Portfolio with eye-catching effects.
- Image Gallery : Display thumbnails with title and description. Thumbnail size is configurable. Galleries are displayed with smooth animation. Support for pagination.
- Integrated Lightbox : Images are displayed in full view via a modal popup window. Display images with title and description.
- Hover Effects : Easy setup of thumbnail hover animation. Effects can be combined for more possibilities. 2D/3D effects available. Effects are touchscreen friendly.
- Title and Description : Are displayed on thumbnails as well as on images. Support HTML tags.
- Mobile Friendly : Touchscreen enabled and responsive.
- CSS3 Acceleration : Support CSS3 acceleration on modern browser. Compatible with older browser too.
- User Friendly : Easy to use. Support browser BACK button. Can be controlled using mouse, keyboard or gesture.
- Multi-Level Navigation : Breadcrumb to support navigation in photo albums. Unlimited number of sub-levels.
- Online Photo Storage : Display images stored in Picasa/Google+ and in Flickr. No need to upload images manually to your site. New published images are automatically displayed in the gallery.
Download: https://github.com/Kris-B/nanoGALLERY
Demonstration: https://nanogallery2.nanostudio.org/
Plugin homepage: https://nanogallery2.nanostudio.org/
Implementation:
1. Include JS and CSS files
<!-- Add jQuery library (mandatory) -->
<script type="text/javascript" src="third.party/jquery-1.8.2.min.js"></script>
<!-- Add Transit plugin (optional - this is only required for some hover effects) -->
<script type="text/javascript" src="third.party/transit/jquery.transit.min.js"></script>
<!-- Add Hammer.js plugin (optional - this is only required for gesture support) -->
<script type="text/javascript" src="third.party/hammer.js/hammer.min.js"></script>
<!-- Add nanoGALLERY plugin files (mandatory) -->
<link href="css/nanogallery.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="jquery.nanogallery.js"></script>
Example 1 : list of images using HREF attribute
<!-- First, write your HTML -->
<div id="nanoGallery">
<a href="image_01.jpg"
data-ngThumb="image_01t.jpg"
data-ngDesc="Description1">Image1</a>
<a href="image_02.jpg"
data-ngThumb="image_02t.jpg"
data-ngDesc="Description2">Image2</a>
<a href="image_03.jpg"
data-ngThumb="image_03t.jpg"
data-ngDesc="Description3">Image3</a>
</div>
<script type="text/javascript">
$(document).ready(function(){
jQuery("#nanoGallery").nanoGallery({
thumbnailWidth: 120,
thumbnailHeight: 80,
thumbnailHoverEffect:'borderLighter,descriptionSlideUp',
itemsBaseURL:'http://brisbois.fr/nanogallery4/demonstration'
});
});
</script>
Example 2 : list of images passed to the script (API)
<!-- First, write your HTML -->
<div id="nanoGallery"></div>
<script type="text/javascript">
$(document).ready(function(){
jQuery("#nanoGallery").nanoGallery({
thumbnailWidth: 120,
thumbnailHeight: 120,
items: [{
src: 'image_01.jpg', // image
srct: 'image_01t.jpg', // thumbnail
title: 'image 1', // title
description: 'Description 1' // description
}, {
src: 'image_02.jpg',
srct: 'image_02t.jpg',
title: 'image 2'
}, {
src: 'image_03.jpg',
srct: 'image_03t.jpg',
title: 'image 3'
}],
itemsBaseURL: 'http://brisbois.fr/nanogallery4/demonstration/',
thumbnailLabel: {
display: true,
position: 'overImageOnBottom'
},
thumbnailHoverEffect:'borderLighter'
});
});
</script>
Example 3 : Google+ / Picasa photos
<!-- First, write your HTML -->
<div id="nanoGallery"></div>
<script type="text/javascript">
$(document).ready(function(){
jQuery("#nanoGallery").nanoGallery({
kind: 'picasa',
userID: 'xxx@gmail.com',
album: 'xxxxxx', //remove this line to display all the albums
thumbnailWidth: 144,
thumbnailHeight: 144,
thumbnailHoverEffect:'borderLighter'
});
});
</script>
Example 4 : Flickr photos
<!-- First, write your HTML -->
<div id="nanoGallery"></div>
<script type="text/javascript">
$(document).ready(function(){
jQuery("#nanoGallery").nanoGallery({
kind: 'flickr',
userID: '34858669@N00',
photoset:'72157594299597591', //remove this line to display all the photosets
thumbnailWidth: 125,
thumbnailHeight: 125,
thumbnailHoverEffect:'borderLighter,descriptionSlideUp'
});
});
</script>
Options:
Screenshots: