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 ); 
        });
      }
    );
    
  });












   });