jQuery Masonry瀑布流插件使用详解


Posted in Javascript onNovember 17, 2014

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代码

<div id="container">    

  <div class="item">...</div>    

  <div class="item">...</div>    

  <div class="item">...</div>    

  ...    

</div> 

css

.item {    

  width: 220px;    

  margin: 10px;    

  float: left;    

} 

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

var $container = $('#container');    

$container.imagesLoaded(function(){    

  $container.masonry({    

    itemSelector : '.item',    

    columnWidth : 240   
Javascript 相关文章推荐
JavaScript 学习笔记(十三)Dom创建表格
Jan 21 Javascript
jquery中ajax学习笔记3
Oct 16 Javascript
window.open()实现post传递参数
Mar 12 Javascript
JQuery菜单效果的两个实例讲解(3)
Sep 17 Javascript
基于jquery实现省市联动特效
Dec 17 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
Jul 05 Javascript
JavaScript学习笔记--常用的互动方法
Dec 07 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
Jan 15 Javascript
vue 自定义提示框(Toast)组件的实现代码
Aug 17 Javascript
彻底揭秘keep-alive原理(小结)
May 05 Javascript
tsconfig.json配置详解
May 17 Javascript
前端使用crypto.js进行加密的函数代码
Aug 16 Javascript
javascript将url中的参数加密解密代码
Nov 17 #Javascript
PHP使用方法重载实现动态创建属性的get和set方法
Nov 17 #Javascript
PHP PDO操作总结
Nov 17 #Javascript
JavaScript函数详解
Nov 17 #Javascript
提升PHP安全:8个必须修改的PHP默认配置
Nov 17 #Javascript
详解Javascript 装载和执行
Nov 17 #Javascript
jQuery带箭头提示框tooltips插件集锦
Nov 17 #Javascript
You might like
晶体管来复再生式二管收音机
2021/03/02 无线电
PHP+DBM的同学录程序(4)
2006/10/09 PHP
php中取得URL的根域名的代码
2011/03/23 PHP
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
简单实用的网站PHP缓存类实例
2014/07/18 PHP
PHP文件缓存内容保存格式实例分析
2014/08/20 PHP
php生成html文件方法总结
2014/12/01 PHP
Zend Framework教程之视图组件Zend_View用法详解
2016/03/05 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
2019/08/23 PHP
javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
2007/10/01 Javascript
JavaScript中的作用域链和闭包
2012/06/30 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
微信小程序之小豆瓣图书实例
2016/11/30 Javascript
vue.js动画中的js钩子函数的实现
2018/07/06 Javascript
微信小程序发布新版本时自动提示用户更新的方法
2019/06/07 Javascript
使用Angular material主题定义自己的组件库的配色体系
2019/09/04 Javascript
vue+vant实现购物车全选和反选功能
2020/11/17 Vue.js
[03:42]2014DOTA2国际邀请赛 第三日比赛排位扑朔迷离
2014/07/12 DOTA
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
Python中使用装饰器时需要注意的一些问题
2015/05/11 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
python使用fork实现守护进程的方法
2017/11/16 Python
详解python中的json和字典dict
2018/06/22 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
python 根据时间来生成唯一的字符串方法
2019/01/14 Python
python字典一键多值实例代码分享
2019/06/14 Python
python实现图片压缩代码实例
2019/08/12 Python
python 用pandas实现数据透视表功能
2020/12/21 Python
HTML5 CSS3打造相册效果附源码下载
2014/06/16 HTML / CSS
协议书怎么写
2014/04/21 职场文书
交通安全标语
2014/06/06 职场文书
介绍信范文
2015/01/31 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
python如何将mat文件转为png
2022/07/15 Python