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 相关文章推荐
动态加载js文件 document.createElement
Oct 14 Javascript
javascript函数重载解决方案分享
Feb 19 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
Aug 20 Javascript
javascript用函数实现对象的方法
May 14 Javascript
jQuery代码实现对话框右上角菜单带关闭×
May 03 Javascript
深入浅析JavaScript中with语句的理解
May 12 Javascript
js继承实现方法详解
Dec 16 Javascript
详解如何将angular-ui的图片轮播组件封装成一个指令
May 09 Javascript
JS实现商品筛选功能
Aug 19 Javascript
jquery+ajaxform+springboot控件实现数据更新功能
Jan 22 jQuery
JS获取url参数,JS发送json格式的POST请求方法
Mar 29 Javascript
基于html+css+js实现简易计算器代码实例
Feb 28 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实现的四则运算表达式计算实现代码
2011/08/02 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
php比较相似字符串的方法
2015/06/05 PHP
PHP实现简单数字分页效果
2015/07/26 PHP
遍历echsop的region表形成缓存的程序实例代码
2016/11/01 PHP
PHP面向对象之里氏替换原则简单示例
2018/04/08 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
2018/05/11 PHP
JS 控制非法字符的输入代码
2009/12/04 Javascript
关于JS控制代码暂停的实现方法分享
2012/10/11 Javascript
javascript计算当月剩余天数(天数计算器)示例代码
2014/01/09 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
2014/10/16 Javascript
Javascript中获取对象的原型对象的方法小结
2015/02/25 Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
2016/05/19 Javascript
纯JS实现可拖拽表单的简单实例
2016/09/02 Javascript
详解vuejs几种不同组件(页面)间传值的方式
2017/06/01 Javascript
JavaScript之实现一个简单的Vue示例
2019/01/17 Javascript
javascript实现日历效果
2019/06/17 Javascript
Vue实现拖放排序功能的实例代码
2019/07/08 Javascript
jQuery 查找元素操作实例小结
2019/10/02 jQuery
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
Python ZipFile模块详解
2013/11/01 Python
python实现linux下抓包并存库功能
2018/07/18 Python
pyqt5的QComboBox 使用模板的具体方法
2018/09/06 Python
python3安装speech语音模块的方法
2018/12/24 Python
Jupyter notebook无法导入第三方模块的解决方式
2020/04/15 Python
Django权限设置及验证方式
2020/05/13 Python
python如何查看网页代码
2020/06/07 Python
如何利用python进行时间序列分析
2020/08/04 Python
html5音频_动力节点Java学院整理
2018/08/22 HTML / CSS
Betsey Johnson官网:妖娆可爱的连衣裙及鞋子、手袋和配件
2016/12/30 全球购物
英国PC组件和在线电脑商店:SCAN
2019/04/18 全球购物
公司试用期员工自我评价
2014/09/17 职场文书
幼儿园安全教育月活动总结
2015/05/08 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书
五一放假通知怎么写
2015/08/18 职场文书
浅谈MySQL函数
2021/10/05 MySQL