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中获取事件对象的方法小结
Mar 13 Javascript
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
Oct 12 Javascript
JS+CSS 制作的超级简单的下拉菜单附图
Nov 22 Javascript
javascript自定义的addClass()方法
May 28 Javascript
js实现右下角提示框的方法
Feb 03 Javascript
在for循环中length值是否需要缓存
Jul 27 Javascript
asp知识整理笔记3(问答模式)
Sep 27 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
Oct 12 Javascript
JS实现的贪吃蛇游戏完整实例
Jan 18 Javascript
一些手写JavaScript常用的函数汇总
Apr 16 Javascript
js 数据类型判断的方法
Dec 03 Javascript
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
Apr 17 Vue.js
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/07/03 PHP
redis 队列操作的例子(php)
2012/04/12 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
php学习笔记之mb_strstr的基本使用
2018/02/03 PHP
php+ajax实现文件切割上传功能示例
2020/03/03 PHP
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
Jquery 在页面加载后执行的几种方式
2014/03/14 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
js实现密码强度检测【附示例】
2016/03/30 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
Three.js学习之文字形状及自定义形状
2016/08/01 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
vue项目中使用tinymce编辑器的步骤详解
2018/09/11 Javascript
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
2020/12/29 Javascript
[58:46]OG vs NAVI 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
在Python中使用Neo4j数据库的教程
2015/04/16 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
Python 正则表达式爬虫使用案例解析
2019/09/23 Python
详解python 破解网站反爬虫的两种简单方法
2020/02/09 Python
python用tkinter实现一个简易能进行随机点名的界面
2020/09/27 Python
顶级宝石首饰网络零售商:Angara
2016/10/25 全球购物
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
如何利用find命令查找文件
2016/11/18 面试题
护士节策划方案
2014/05/19 职场文书
学校献爱心活动总结
2014/07/08 职场文书
入党积极分子批评与自我批评思想汇报
2014/09/14 职场文书
房屋产权证明书
2014/10/15 职场文书
2014年建筑工作总结
2014/11/26 职场文书
2015年防汛工作总结
2015/05/15 职场文书
小学课改工作总结
2015/08/13 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers
MySQL REVOKE实现删除用户权限
2021/06/18 MySQL