Responsive Image Gallery
Responsive image gallery with Infinite Scroll using http://masonry.desandro.com/ plugin
HTML
<script src="../js/modernizr-transitions.js"></script>
<div id="container" class="transitions-enabled clearfix">
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpgg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpgg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img src="http://c2.staticflickr.com/8/7218/7209301894_c99d3a33c2_h.jpg"> </div>
<div class="box"> <img...
CSS
body {
max-width:96%;
margin:0 auto;
}
.box {
width:200px;
}
.box img {
max-width:100%;
}
#container {
margin:0 auto;
}
@media screen and (min-width: 1280px) {
body {
width:1200px;
}
}
JavaScript
var $container = $('#container');
$container.imagesLoaded( function(){
$container.masonry({
itemSelector : '.box',
isAnimated: !Modernizr.csstransitions,
isFitWidth: true
});
});
$container.infinitescroll({
navSelector : '#page-nav', // selector for the paged navigation
nextSelector : '#page-nav a', // selector for the NEXT link (to page 2)
itemSelector : '.box', // selector for all items you'll retrieve
loading: {
finishedMsg: 'No more pages to load.',
img: 'http://i.imgur.com/6RMhx.gif'
}
},
// trigger Masonry as a callback
function( newElements ) {
// hide new items while they are loading
var $newElems = $( newElements ).css({ opacity: 0 });
// ensure that images load before adding to masonry layout
$newElems.imagesLoaded(function(){
// show elems now they're ready
$newElems.animate({ opacity: 1 });
$container.masonry( 'appended', $newElems, true );
});
}
);