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 相关文章推荐
DEFER怎么用?
Jul 01 Javascript
Javascript的setTimeout()使用闭包特性时需要注意的问题
Sep 23 Javascript
js+jquery常用知识点汇总
Mar 03 Javascript
JavaScript高级教程5.6之基本包装类型(详细)
Nov 23 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
Jan 17 Javascript
详解node.js搭建代理服务器请求数据
Apr 08 Javascript
Vue2几种常见开局方式详解
Sep 09 Javascript
node中modules.exports与exports导出的区别
Jun 08 Javascript
vuejs选中当前样式active的实例
Aug 22 Javascript
搭建基于express框架运行环境的方法步骤
Nov 15 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
Aug 27 Javascript
详解Webpack4多页应用打包方案
Jul 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
不要轻信 PHP_SELF的安全问题
2009/09/05 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
PHP函数microtime()用法与说明
2013/12/04 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
php+redis实现消息队列功能示例
2019/09/19 PHP
laravel-admin的图片删除实例
2019/09/30 PHP
js href的用法
2010/05/13 Javascript
js鼠标滑过弹出层的定位IE6bug解决办法
2012/12/26 Javascript
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
JQuery中基础过滤选择器用法实例分析
2015/05/18 Javascript
js实现文字垂直滚动和鼠标悬停效果
2015/12/31 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
2016/01/26 Javascript
jquery获取复选框checkbox的值的简单实现方法
2016/05/26 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
原生js实现tab选项卡切换
2020/03/23 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
2017/06/01 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
2020/03/26 Javascript
vue离开当前页面触发的函数代码
2020/09/01 Javascript
[49:28]VP vs Optic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python中函数的参数传递与可变长参数介绍
2015/06/30 Python
速记Python布尔值
2017/11/09 Python
Python实现希尔排序算法的原理与用法实例分析
2017/11/23 Python
python调用自定义函数的实例操作
2019/06/26 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
Python datetime包函数简单介绍
2019/08/28 Python
手把手教你配置JupyterLab 环境的实现
2021/02/02 Python
美国最大婚纱连锁店运营商:David’s Bridal
2019/03/12 全球购物
组织关系转移介绍信
2014/01/16 职场文书
毕业自我鉴定书
2014/03/24 职场文书
退货证明模板
2015/06/23 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server