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 相关文章推荐
一端时间轮换的广告
Jun 26 Javascript
javascript 一段左右两边随屏滚动的代码
Jun 18 Javascript
jquery自定义属性(类型/属性值)
May 21 Javascript
JS将表单导出成EXCEL的实例代码
Nov 11 Javascript
jquery中的on方法使用介绍
Dec 29 Javascript
关于Function中的bind()示例详解
Dec 02 Javascript
微信小程序 动态绑定数据及动态事件处理
Mar 14 Javascript
手动用webpack搭建第一个ReactApp的示例
Apr 11 Javascript
JavaScript 作用域scope简单汇总
Oct 23 Javascript
vue data恢复初始化数据的实现方法
Oct 31 Javascript
JS对日期操作封装代码实例
Nov 08 Javascript
Axios取消重复请求的方法实例详解
Jun 15 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 session 错误
2009/05/21 PHP
163的邮件用phpmailer发送(实例详解)
2013/06/24 PHP
php图片缩放实现方法
2014/02/20 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
2015/04/20 PHP
修复ShopNC使用QQ 互联时提示100010 错误
2015/11/08 PHP
Zend Framework动作助手FlashMessenger用法详解
2016/03/05 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
jQuery timers计时器简单应用说明
2010/10/28 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
动态的改变IFrame的高度实现IFrame自动伸展适应高度
2012/12/28 Javascript
常用的JavaScript验证正则表达式汇总
2013/11/26 Javascript
原生javascript实现Tab选项卡切换功能
2015/01/12 Javascript
js实现同一页面多个运动效果的方法
2015/04/10 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
jQuery实现简单的下拉菜单导航功能示例
2017/12/07 jQuery
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
2018/02/27 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
axios解决高并发的方法:axios.all()与axios.spread()的操作
2020/11/09 Javascript
超详细小程序定位地图模块全系列开发教学
2020/11/24 Javascript
[00:32]2018DOTA2亚洲邀请赛VG出场
2018/04/03 DOTA
python如何爬取个性签名
2018/06/19 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
SISLEY希思黎官方旗舰店:享誉全球的奢华植物美容品牌
2018/04/25 全球购物
Myprotein比利时官方网站:欧洲第一运动营养品牌
2020/10/04 全球购物
J2EE面试题集锦(附答案)
2013/08/16 面试题
《湘夫人》教学反思
2014/02/21 职场文书
学校就业推荐信范文
2014/05/19 职场文书
感恩教师节演讲稿
2014/09/03 职场文书
php字符串倒叙
2021/04/01 PHP
一文简单了解MySQL前缀索引
2022/04/03 MySQL
Golang入门之计时器
2022/05/04 Golang