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----文件操作
Jan 18 Javascript
使Ext的Template可以解析二层的json数据的方法
Dec 22 Javascript
心扬JS分页函数代码
Sep 10 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
Dec 27 Javascript
js获取通过ajax返回的map型的JSONArray的方法
Jan 09 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
Jun 14 Javascript
JS实现HTML标签转义及反转义
Apr 14 Javascript
Vuejs 组件——props数据传递的实例代码
Mar 07 Javascript
Vue中使用webpack别名的方法实例详解
Jun 19 Javascript
详解如何使用webpack打包JS
Jun 21 Javascript
使用vue-router与v-if实现tab切换遇到的问题及解决方法
Sep 07 Javascript
JavaScript中MutationObServer监听DOM元素详情
Nov 27 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留言本实例代码
2010/05/09 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
php类常量用法实例分析
2015/07/09 PHP
分析PHP中单双引号的误区和双引号小隐患
2016/07/19 PHP
php分页查询的简单实现代码
2017/03/14 PHP
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
IE6下JS动态设置图片src地址问题
2010/01/08 Javascript
js的一些常用方法小结
2011/06/29 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
2017/09/12 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
2018/04/18 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
0基础学习前端开发的一些建议
2020/07/14 Javascript
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
Python实现确认字符串是否包含指定字符串的实例
2018/05/02 Python
Python3解释器知识点总结
2019/02/19 Python
使用NumPy读取MNIST数据的实现代码示例
2019/11/20 Python
解决springboot yml配置 logging.level 报错问题
2020/02/21 Python
用python制作个音乐下载器
2021/01/30 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
英国最大的专业户外零售商:Mountain Warehouse
2018/06/06 全球购物
介绍下java.util.Arrays类
2012/10/16 面试题
上班看电影检讨书
2014/02/12 职场文书
婚假请假条怎么写
2014/04/10 职场文书
购房协议书
2014/04/11 职场文书
119消防日活动总结
2014/08/29 职场文书
2014年学校德育工作总结
2014/12/05 职场文书
2015年组织部工作总结
2015/04/03 职场文书
岗位聘任协议书
2015/09/21 职场文书
2016年三八红旗手先进事迹材料
2016/02/26 职场文书
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript