瀑布流布局非常适合大量图片的展示,一改过去裁剪图片尺寸统一的排版,每张图片都能完全展示,并错落有致,让人眼前一亮。

  • 版本:
  • jQuery v1.4.3+
  • jQuery Wookmark Load v1.4.8
  • 注意事项:
  • 项目中的 img 元素的 width 和 height 属性需要写,否则定位会不准确。(可以用 JavaScript 实时获取图片的宽高,但图片数量过多时,这将是一件不靠谱的事情。)

  • github

在线实例

实例预览 Example 基本示例

实例预览 AMD 加载器

实例预览 Endless scroll 无限滚动

实例预览 Flexible width 弹性布局

实例预览 Lightbox 支持灯窗插件

实例预览 Load it all 动态读取图片尺寸

实例预览 Placeholders 底部占位符

实例预览 PHP server PHP 加载数据

实例预览 Remote API 远程 API 加载数据

实例预览 Filtering Or 筛选功能

实例预览 Filtering And 筛选功能

实例预览 Filtering Only 筛选功能

实例预览 Filtering Fade 筛选功能

实例预览 sorting排序基本示例

实例预览 stamping基本示例

使用方法

载入 JavaScript 文件

  1. <script src="jquery.js"></script> 
  2. <script src="jquery.wookmark.js"></script>
复制

CSS 样式

  1. /* 
  2.  * 父容器需要设置相对定位 
  3.  * 项目需要设置隐藏 
  4.  */ 
  5. #list{position:relative;} 
  6. #list li{display:none;} 
复制

DOM 结构

  1. <!-- 
  2. 本例中,$("#list") 就是父容器,内部的 li 就是要进行瀑布流布局的项目。当然也可以使用 div 或其他标签的来写。 
  3. 项目中的 img 元素的 width 和 height 属性需要写,否则定位会不准确。 
  4. --> 
  5. <ul id="list"> 
  6.   <li><img src="pic_1.jpg" width="200" height="283"><p>text</p></li> 
  7.   <li><img src="pic_2.jpg" width="200" height="300"><p>text</p></li> 
  8.   ... 
  9.   <li><img src="pic_n.jpg" width="200" height="252"><p>text</p></li> 
  10. </ul> 
复制

调用 Wookmark

  1. $('#list li').wookmark(); 
  2.  
  3. // 自定义参数调用 
  4. $('#list li').wookmark({ 
  5.   container: $('#list'), 
  6.   offset: 10, 
  7.   itemWidth: 200 
  8. }); 
复制

手动触发布局事件

  1. // 根据需要,可以进行手动触发重新布局 
  2. $('#list').trigger('refreshWookmark');
复制

参数说明

名称 默认值 说明
container $('body') 父容器。自定义时需要给父容器设置 CSS 属性 "position: relative"。
align 'center' 对齐方向,可设置为:"left", "right", "center"。
direction undefined 排序方向。可设置为:"left"(从左至右), "right"(从右至左)

若不设置,则判断 align 为 "right" 时,direction 为 "right",否则默认为 "left"。

autoResize false 是否在浏览器窗口大小变化时进行重新布局。
resizeDelay 50 检测自动重新布局的间隔时间 (ms)。
itemWidth 0 列表项目的宽度 (px 或 %)。
flexibleWidth 0 列表项目自适应的最大宽度。该项设置时,itemWidth 的值作为列表项目的最小宽度。
offset 2 列表项目的间距 (px),横向纵向相同。
verticalOffset undefined 列表项目纵向的间距 (px),与 offset 配合即可分别设置横向与纵向的间距。
outerOffset 0 外部间距,与父容器顶部的间距。
ignoreInactiveItems true 是否隐藏被过滤的项目。
fillEmptySpace false 是否填充底部占位符。占位符的 class 为 "wookmark-placeholder"。
comparator null 自定义排序方法。
possibleFilters []  
onLayoutChanged undefined 布局变化时触发的函数。

jQuery Wookmark Load 瀑布流布局实例演示的更多相关文章

  1. Jquery瀑布流布局,jQuery Wookmark Load 示例

    瀑布流布局非常适合大量图片的展示,一改过去裁剪图片尺寸同意的排版,每张图片都能完全展示,并错落有致,让人眼前一亮. 注意事项:img元素的width和weight属性需要写,否则定位会不准确. 查看j ...

  2. jquery实现简单瀑布流布局

    jquery实现简单瀑布流布局 是开头都会说的原理 瀑布流布局有两种,一种是固定列,一种是非固定列.在此主要记述第一种的实现. 固定列的特征是:无论页面如何缩放,每行的总列数都一致. 一行4列的瀑布流 ...

  3. jquery实现简单瀑布流布局(续):图片懒加载

    # jquery实现简单瀑布流布局(续):图片懒加载 这篇文章是jquery实现简单瀑布流布局思想的小小扩展.代码基于前作的代码继续完善. 图片懒加载就是符合某些条件时才触发图片的加载.最常见的具体表 ...

  4. Ajax+json+jquery实现无限瀑布流布局

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  5. 使用jquery+css实现瀑布流布局

    虽然可以直接使用css实现瀑布流布局,但显示的方式有点问题,所以这儿就直接使用jquery+css来实现瀑布流布局,最终效果如下:      思路是通过将每个小块的position设置为relativ ...

  6. jQuery Wookmark 瀑布流布局

    瀑布流布局非常适合大量图片的展示,一改过去裁剪图片尺寸统一的排版,每张图片都能完全展示,并错落有致,让人眼前一亮. 版本: jQuery v1.4.3+ jQuery Wookmark Load v1 ...

  7. AJAX+json+jquery实现预加载瀑布流布局

    宽度是一定的高度不定的瀑布流布局 也可以说是无缝拼图 当浏览器滚动到底部时候自动加载图片 加载的图片地址用json 在img.js里 ,还有正在加载动画是用 css3制作的 在ff等支持css3可以显 ...

  8. myWaterfall - jQuery瀑布流布局插件

    myWaterfall - jQuery瀑布流布局插件 Demo http://jsfiddle.net/q3011893/p5k2ogy8/embedded/result,html,css,js/ ...

  9. Jquery瀑布流布局

    瀑布流布局最近真的很流行,很多人都跟我一样想知道是怎么做出来的吧,经过网上搜索大量的参考结合N边的实验今天终于被我写出来了,为了便于大家理解我使用了jQuery(当然用源生js代码执行的效率会高一些, ...

随机推荐

  1. 《Qt Quick 4小时入门》学习笔记

    http://edu.csdn.net/course/detail/1042/14804?auto_start=1   Qt Quick 4小时入门 第五章:Qt Quick里的信号与槽   QML中 ...

  2. JavaScript内存优化

    JavaScript内存优化 相对C/C++ 而言,我们所用的JavaScript 在内存这一方面的处理已经让我们在开发中更注重业务逻辑的编写.但是随着业务的不断复杂化,单页面应用.移动HTML5 应 ...

  3. 深入理解PHP内核(九)变量及数据类型-静态变量

    原文链接:http://www.orlion.ga/251/ 通常静态变量是静态分配的,他们的生命周期和程序的生命周期一样长,只有在程序退出后才结束生命周期,这和局部变量相反,有的语言中全局变量也是静 ...

  4. 编译原理:正规式转变成DFA算法

    //将正规式转变成NFApackage hjzgg.formal_ceremony_to_dfa; import java.util.ArrayList; class Edge{ public int ...

  5. 【原创】Matlab.NET混合编程技巧之直接调用Matlab内置函数

                  本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新    Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 在我的上一篇文章[ ...

  6. Jsp字符编码过滤器

    通过此过滤器,可以实现统一将编码设置为UTF-8. 1.首先在web.xml中配置,添加如下代码: <!-- 过滤器 --> <filter> <filter-name& ...

  7. 【Android】Android ObjectAnimator动画初识、模仿

    ObjectAnimator: ObjectAnimator的概念这里就不解释了,直接从代码中说明,以下是模仿Persicope的加载动画,简单的几行代码即可实现,当然我也是模仿的,更好的实现思路还请 ...

  8. java中map插入相同的key

    测试用例: package test; import org.junit.Test; import po.Person; import java.util.HashMap; import java.u ...

  9. WCF序列化

    在WCF中,提供了专门用来序列化和反序列操作的类,该类就是DataContractSerializer类.一般而言,WCF会自动选择使用DataContractSerializer来对可序列话数据契约 ...

  10. Java魔法堂:解读基于Type Erasure的泛型

    一.前言 还记得JDK1.4时遍历列表的辛酸吗?我可是记忆犹新啊,那时因项目需求我从C#转身到Java的怀抱,然后因JDK1.4少了泛型这样语法糖(还有自动装箱.拆箱),让我受尽苦头啊,不过也反映自己 ...