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学习随笔(使用window和frame)的技巧
Mar 08 Javascript
JavaScript使用过程中需要注意的地方和一些基本语法
Aug 26 Javascript
javascript时间函数大全
Jun 30 Javascript
JS获取表格内指定单元格html内容的方法
Mar 31 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
Jul 10 Javascript
jQuery弹出遮罩层效果完整示例
Sep 13 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
Nov 17 Javascript
Bootstrap 中data-[*] 属性的整理
Mar 13 Javascript
react-navigation之动态修改title的内容
Sep 26 Javascript
JavaScript ES2019中的8个新特性详解
Feb 20 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
Sep 11 Javascript
vue-openlayers实现地图坐标弹框效果
Sep 24 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基本语法总结
2014/09/06 PHP
盘点PHP和ASP.NET的10大对比!
2015/12/24 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
ecshop适应在PHP7的修改方法解决报错的实现
2016/11/01 PHP
php安装dblib扩展,连接mssql的具体步骤
2017/03/02 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
js 操作css实现代码
2009/06/11 Javascript
JavaScript 面向对象的之私有成员和公开成员
2010/05/04 Javascript
将list转换为json失败的原因
2013/12/17 Javascript
改变状态栏文字的js代码
2014/06/13 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
原生js实现商品放大镜效果
2017/01/12 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
vue 左滑删除功能的示例代码
2019/01/28 Javascript
vue实现动态显示与隐藏底部导航的方法分析
2019/02/11 Javascript
详解nodejs 开发企业微信第三方应用入门教程
2019/03/12 NodeJs
详解小程序如何避免多次点击,重复触发事件
2019/04/08 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
老生常谈python之鸭子类和多态
2017/06/13 Python
python实现机器人行走效果
2018/01/29 Python
python实现遍历文件夹图片并重命名
2020/03/23 Python
Django REST framwork的权限验证实例
2020/04/02 Python
Python pip安装模块提示错误解决方案
2020/05/22 Python
python线性插值解析
2020/07/05 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
马来西亚航空官方网站:Malaysia Airlines
2017/07/28 全球购物
Mytheresa中国官网:德国时尚奢侈品商城
2017/08/04 全球购物
敬老院志愿者活动总结
2015/05/06 职场文书
幼儿园中班教学反思
2016/03/03 职场文书
详解Python如何批量采集京东商品数据流程
2022/01/22 Python