waterfall-jQuery is creating a flexible, Pinterest.com-inspired, responsive and dynamic grid layout with infinite scroll support.
Netflix Slider Including Cool Infinite Scrolling Effect
How to make use of it:
1. Add your photos to the grid layout.
<div id="main"> <div class="box"> <div class="pic"> <img src="images/0.jpg"> </div> </div> <div class="box"> <div class="pic"> <img src="images/1.jpg"> </div> </div> <div class="box"> <div class="pic"> <img src="images/2.jpg"> </div> </div> ... </div>
2. Style grids in CSS.
#main { position: relative; } .box { padding: 15px 0 0 15px; float: left; } .pic { padding: 10px; border: 1px solid #ccc; border-radius: 5px; box-shadow: 0 0 5px #ccc; } .pic img { width: 165px; height: auto; }
3. Include the necessary jQuery JavaScript library on the web page.
<script src="//code.jquery.com/jquery-2.1.4.min.js"></script>
4. Basic function.
function waterFall() { var $boxs=$('#main>div'); var w=$boxs.eq(0).outerWidth(); var cols=Math.floor($(window).width()/w); $("#main").width(w*cols).css('margin','0 auto'); var hArr=[]; $boxs.each(function(index,value){ var h=$boxs.eq(index).outerHeight(); if(index<cols){ hArr.push(h); }else { minH=Math.min.apply(null,hArr); var minHeightIndex=$.inArray(minH,hArr); $(value).css({ 'position':'absolute', 'top':minH+'px', 'left':minHeightIndex*w+'px' }); hArr[minHeightIndex]+=$boxs.eq(index).outerHeight(); } }); }
5. Infinite scroll function.
function checkScrollSlide() { var $lastBox=$('#main>div').last(); var lastBoxDis=$lastBox.offset().top+Math.floor($lastBox.outerHeight()/2); var scrollTop=$(window).scrollTop(); var documentH=$(window).height(); return (lastBoxDis<scrollTop+documentH)?true:false; }
6. Active grid layout with infinite scroll support.
$(window).on('load',function(){ waterFall(); var dataInt={"data":[{"src":"0.jpg"},{"src":"1.jpg"},{"src":"2.jpg"},{"src":"3.jpg"}]}; $(window).on('scroll',function(){ if(checkScrollSlide()){ $.each(dataInt.data,function(key,value){ var oBox=$('<div>').addClass('box').appendTo($('#main')); var oPic=$('<div>').addClass('pic').appendTo(oBox); $('<img>').attr('src','images/'+$(value).attr('src')).appendTo(oPic); }); waterFall(); } }); });
pinterest-like fluid layout with infinite scroll, waterfall jquery Plugin/Github
See Demo And Download
Official Website(Lozoe): Click Here
This superior jQuery/javascript plugin is developed by Lozoe. For extra advanced usage, please go to the official website.