JSFiddle - React, Tailwind, and code Playground
by taoist
HTML
<script src="https://raw.github.com/desandro/masonry/master/jquery.masonry.js"></script>
<!DOCTYPE html>
<meta charset="UTF-8">
<title>Masonry</title>
<link rel="stylesheet" href="style.css">
<div id="content">
<div id="container">
<div class="box col1" >
<p>page 1 page 1 </p>
<p>page 1 pag<div class="boxImage" style="position: relative; top: 5px; left: 5px; ">
<a href="http://www.en.wikiaudio.org" title="Mixer"><img src="mixer2.png" ></a>
</div>e 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 </p>
<p>page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1
<div class="boxImage" style="position: relative; top: 5px; left: 5px; ">
<a href="http://www.en.wikiaudio.org" title="Mixer"><img src="mixer.png" ></a>
</div>page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 </p>
<p>page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 </p>
</div>
<div class="box col2" >
<p>page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 page 1 </p>
<p>page 1 page 1 page 1 page 1 page 1 page 1 page...
CSS
#container {
left:50px;
padding:10px;
background: #FFF;
padding: 5px;
margin-bottom: 20px;
border-radius: 5px;
clear: both;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.box {
margin: 5px;
padding: 15px;
background: orange;
line-height: 1.4em;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.col1 { width: 250px; }
.col2 { width: 250px; }
.col3 { width: 250px; }
.col4 { width: 250px; }
.col5 { width: 250px; }
JavaScript
$(document).ready(function (){
// This function is all the code you need for basic masonry functionality
$(function(){
$('#container').masonry({
itemSelector: '.box', // Div class "box"
columnWidth: 100, // Aesthetic sizing option
isAnimated: false, // boxes animate to the left when window is collapsed
isFitWidth: true
});
});
// END
$('#content').infinitescroll({ // Invoked infinite scroll
/*
navSelector : "next:last",
nextSelector : "next:last",
itemSelector : "#content p",
dataType : 'html',
*/
},
//Invoked "Masonry triggered" callback function
function(newElements){
window.console ('context: ',this);
window.console ('returned: ', newElements);
});
// END invoked callback function
$(function(){
var $container = $('#container');
$container.imagesLoaded(function(){ // imagesLoaded plugin
$container.masonry({
itemSelector: '.box',
columnWidth: 50
});
});
$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 );
});
}
);
});
});