waterfall.js


jq-waterfall是一款仿Pinterest網站的響應式無限動態加載圖片瀑布流特效jQuery插件。該瀑布流特效使用ajax調用來動態加載圖片,達到無限加載的效果。它使用簡單,兼容性好,值得推薦!

使用方法

使用這個瀑布流插件需要引入jQuery和jquery.waterfall.js文件。

<script src="js/jquery-1.11.1.min.js"></script>
<script src="js/jquery.waterfall.js"></script>

HTML結構

該瀑布流特效的HTML結個使用一個<div>來包裹圖片,然后在外圍使用一個<div>作為包裹容器。

1 <div id="demo">
2   <div class="box"><img src="img/01.jpg" alt=""></div>
3   <div class="box"><img src="img/02.jpg" alt=""></div>
4   <div class="box"><img src="img/03.jpg" alt=""></div>
5   ...
6 </div>

CSS樣式

DEMO中給出了這個瀑布流的基本樣式,你可以自行修改為你需要的瀑布流樣式。

 1 #demo {
 2   margin: auto;
 3   position: relative;
 4 }
 5   
 6 .box {
 7   float: left;
 8   padding: 10px;
 9   border: 1px solid #ccc;
10   background: #f7f7f7;
11   box-shadow: 0 0 8px #ccc;
12 }
13   
14 .box:hover { box-shadow: 0 0 10px #999; }
15   
16 .box img { width: 200px; }

調用插件

插件使用Javascript來生成Pinterest樣式的網格瀑布流布局。使用ajaxCallback來在頁面向下滾動的時候對圖片進行動態加載,以達到無限瀑布流的效果。

$("#demo").waterfall({
  itemClass: ".box",
  minColCount: 2,
  spacingHeight: 10,
  resizeable: true,
  ajaxCallback: function(success, end) {
    var data = {"data": [
      { "src": "03.jpg" }, { "src": "04.jpg" }, { "src": "02.jpg" }, { "src": "05.jpg" }, { "src": "01.jpg" }, { "src": "06.jpg" }
    ]};
    var str = "";
    var templ = '<div class="box" style="opacity:0;filter:alpha(opacity=0);"><div class="pic"><img src="img/{{src}}" /></div></div>'
  
    for(var i = 0; i < data.data.length; i++) {
      str += templ.replace("{{src}}", data.data[i].src);
    }
    $(str).appendTo($("#div1"));
    success();
    end();
  }
});

配置參數

下面是該瀑布流特效的可用參數。

參數 默認值 描述
itemClass "waterfall-item" 圖片網格元素的class名稱
spacingWidth 10 圖片網格元素的水平間距
spacingHeight 10 圖片網格元素的垂直間距
minColCount 2 瀑布流布局的最小列數
resizeable false 是否在瀏覽器窗口縮放時觸發positionAll()方法
itemAlign "center" 圖片網格元素的對齊方式,可選:center|left
isFadeIn true 是否在加載圖片時使用淡入淡出效果
ajaxCallback null ajax回調函數,有2個可用參數:success, end


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM