欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery Masonry瀑布流插件使用详解

程序员文章站 2023-10-17 09:01:24
masonry是 一款非常强大的jquery动态网格布局插件,可以帮助开发人员快速开发类似剪贴画的界面效果。和css中float的效果不太一样的地方在 于,float先水平排列,然...

masonry是 一款非常强大的jquery动态网格布局插件,可以帮助开发人员快速开发类似剪贴画的界面效果。和css中float的效果不太一样的地方在 于,float先水平排列,然后再垂直排列,使用masonry则垂直排列元素,然后将下一个元素放置到网格中的下一个开发区域。这种效果可以最小化处理 不同高度的元素在垂直方向的间隙。如下:

jQuery Masonry瀑布流插件使用详解

在上图中大家可以看到,在网格布局中使用float来处理不同高度的元素会使得垂直方向的元素间间隔比较大,而使用masonry处理后,间隔变小。

用法

首先倒入类库,如下:

 

代码如下:


<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js">  
</script><script src="/path/to/jquery.masonry.min.js"></script> 

 

然后,针对元素容器执行masonry,如下:

 

代码如下:


$(function(){   
  $('#container').masonry({   
    // options   
    itemselector : '.item',   
    columnwidth : 240   
  });   
}); 

 

html代码

 

代码如下:


<p id="container">   
  <p class="item">...</p>   
  <p class="item">...</p>   
  <p class="item">...</p>   
  ...   
</p> 

 

css

 

代码如下:


.item {   
  width: 220px;   
  margin: 10px;   
  float: left;   

 

如果你加载的元素中有图片的话,那么需要确保masonry在所有图片都加载完后才执行,需要调用如下代码:

代码如下:


var $container = $('#container');   
$container.imagesloaded(function(){   
  $container.masonry({   
    itemselector : '.item',   
    columnwidth : 240