mp-mansory.js是一款基于Bootstrap的mansory网格瀑布流布局jQuery插件。通过该插件可以非常轻松的实现瀑布流效果,它通过断点来控制响应式效果,非常实用。

使用方法

使用该瀑布流插件需要在页面中引入jquery和bootstrap相关文件,以及mp.mansory.js文件。

<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script type="text/javascript" src="path/to/jquery.min.js"></script>
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script type="text/javascript" src="src/mp.mansory.js"></script>                  
                
HTML结构

该瀑布流的HTML结构使用.container容器来包裹一个二级父容器。在二级父容器中,每一个<div>元素是一个网格单元。

<div class="container">
  <div id="my-gallery-container">
    <div class="item" data-order="31">
      <p>item 0</p>
    </div>
    <div class="item h200" data-order="30">
      <p>item 1</p>
    </div>
    <div class="item h250" data-order="29">
      <p>item 2</p>
    </div>
    <div class="item h150" data-order="28">
      <p>item 3</p>
    </div>
    ......
  </div>
</div>                  
                
初始化插件

在页面DOM元素加载完毕之后,可以通过mpmansory()方法来初始化该瀑布流插件。

jQuery(document).ready(function ( $ ) {
  $("#my-gallery-container").mpmansory();
});                  
                

配置参数

该瀑布流插件的默认配置参数如下:

jQuery(document).ready(function ( $ ) {
  $("#my-gallery-container").mpmansory(
    {
      childrenClass: '', // default is a div
      columnClasses: '', //add classes to items
      breakpoints:{
        lg: 3, 
        md: 4, 
        sm: 6,
        xs: 12
      },
      distributeBy: { order: false, height: false, attr: 'data-order', attrOrder: 'asc' }, 
      onload: function (items) {
        //make somthing with items
      } 
    }
  );
});                  
                
  • childrenClass:网格元素的class。
  • columnClasses:添加到网格上的额外的class。
  • breakpoints:设置浏览器在相应断点时显示的列数。
    • lg:视口尺寸大于1200像素。
    • md:视口尺寸大于992像素,小于1200像素。
    • sm:视口尺寸大于720像素,小于992像素。
    • xs:视口尺寸小于720像素。
  • distributeBy:排序选项:
    • order:如果设置为true,网格项按默认的顺序排列。
    • height:如果设置为true,没列的高度使用分配项的最小高度。
    • attr:使用data-order属性来排序。
    • attrOrder:升序或降序:'asc'/'desc'。
  • onload:加载时的回调函数。

mp-mansory.js网格瀑布流插件的github地址为:https://github.com/jmlp-131092/mp-mansory.js