jquery.masonry + jquery.infinitescroll 实现瀑布流布局

转载自:http://www.cnblogs.com/liubiaocai/archive/2013/04/26/3044503.html

最近瀑布流布局非常流行,国内大大小小的瀑布流布局的网站都很多了,比如美丽说、蘑菇街、花瓣等,关于瀑布流布局的资料打开可以百度自己看了,这里介绍两个jquey插件实现瀑布流布局和动态加载数据(分页加载)。

1jquery.masonry,目前布局流行的瀑布流插件有很多,http://www.csswang.com/resource/2261.html,这里有很多介绍,这个插件算是比较流行的一款吧,文档也布局详细,官网地址:http://masonry.desandro.com,详细的大家可以去官网看,只要简单几句js代码即可实现瀑布流布局了,代码如下:




$(‘.wrapper:eq(1)‘).masonry({

    itemSelector: ‘.wfc‘,

    gutterWidth: 15,

    columnWidth: 222,

    isFitWidth: true

});

这里介绍下核心的参数,其他可以到官网查看;

itemSelector   
 class选择器,默认‘.item‘,这个表示每个块的选择器
columnWidth   
 一列的宽度
isAnimated   
 使用jquery的布局变化,默认true
animationOptions   
 animate属性渐变效果(Object { queue: false, duration: 500
})
gutterWidth     列的间隙
Integer
isFitWidth    
自适应浏览器宽度Boolean
isResizableL     是否可调整大小
Boolean
isRTL     使用从右到左的布局 Boolean

2、jquery.infinitescroll,有了瀑布流布局,我们还需要一个动态加载的功能,也就是浏览器滚动条滚动到底部的时候,需要动态加载数据,这里介绍使用分页的方式加载数据,插件名称为jquery.infinitescroll,官网地址为:http://www.infinite-scroll.com,详细说明可以到官网查看,这里介绍他的一些核心的参数

itemSelector  
 class选择器,默认‘div.post‘,这个表示上面介绍的瀑布流的块的选择器
nextSelector  
 表示分页中下一页的选择器,默认为div.navigation a:first
navSelector   
 表示分页导航的选择器,分页导航会被隐藏
extraScrollPx 
 滚动条距离底部多少像素的时候开始加载,默认150
dataType       
表示动态加载返回数据的格式,默认html
template       
 表示返回json时,用来生成瀑布流块html代码的模板方法,如果返回是json,那么必须指定这个参数,否则会报错

一般的代码如下:




$(‘#waterfall‘).infinitescroll({

                navSelector: "#navigation", //导航的选择器,会被隐藏

                nextSelector: "#navigation a", //包含下一页链接的选择器

                itemSelector: ".wfc", //你将要取回的选项(内容块)

                debug: true, //启用调试信息

                animate: true, //当有新数据加载进来的时候,页面是否有动画效果,默认没有

                extraScrollPx: 150, //滚动条距离底部多少像素的时候开始加载,默认150

                bufferPx: 40, //载入信息的显示时间,时间越大,载入信息显示时间越短

                errorCallback: function() {

                    alert(‘error‘);

                }, //当出错的时候,比如404页面的时候执行的函数

                localMode: true, //是否允许载入具有相同函数的页面,默认为false

                dataType: ‘html‘,//可以是json

//                template: function(data) {

//                    //data表示服务端返回的json格式数据,这里需要把data转换成瀑布流块的html格式,然后返回给回到函数

//                    return ‘‘;

//                },

                loading: {

                    msgText: "加载中...",

                    finishedMsg: ‘没有新数据了...‘,

                    selector: ‘.loading‘ // 显示loading信息的div

                }

            }, function(newElems) {

                //程序执行完的回调函数

                var $newElems = $(newElems);

                $(‘.wrapper:eq(1)‘).masonry(‘appended‘, $newElems);

            });

  

对于jquery.infinitescroll这个插件,网上很多介绍包括官网也有,但是都不是很详细,这里说明下需注意的地方:

1、分页导航html格式问题,并不是任意的html都可以的,必须有一定的格式,具体可以看插件的源码,格式如:page.aspx?page=1或者page/2/,还有其他格式请看源码;每次加载前会数字会递增1,后台可以用Request["page"]获取参数;

2、如果要json数据,那么必须指定dataType参数为json,并设置template模板方法,该方法接收一个json数据,然后把json替换成瀑布流的html就可以了;

3、数据返回后,需要重新调用瀑布流插件重新布局,query.infinitescroll在数据返回后又一个回掉,格式为:$(‘#content‘).infinitescroll({},function(newElems){//newElems表示返回的数据,如果是json的话就是template的返回值});

Demo下载

jquery.masonry + jquery.infinitescroll 实现瀑布流布局,布布扣,bubuko.com

时间: 2024-10-21 14:15:33

jquery.masonry + jquery.infinitescroll 实现瀑布流布局的相关文章

用Masonry和jQuery.lazyload插件实现网页瀑布流布局

瀑布流布局 我们常能在网上看到很多瀑布流布局的页面,尤其是很多图片网站,例如百度图片.这种最典型的瀑布流布局,每个元素的宽度是固定的,但图片长度各不相同,于是通过下图这种样子竖着排列了下来,达到了最大的页面空间利用率. 因为对前端开发不了解,一开始为了找到这种布局叫什么名字也是花了我好久时间o(╯□╰)o 瀑布流布局不局限于等宽布局,例如下面这种形式也可以,来自Masonry官网截图. Masonry官网 http://masonry.desandro.com/ 瀑布流布局作为一种响应式布局,网

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

宽度是一定的高度不定的瀑布流布局 也可以说是无缝拼图 当浏览器滚动到底部时候自动加载图片 加载的图片地址用json 在img.js里 ,还有正在加载动画是用 css3制作的 在ff等支持css3可以显示 你如果想全面支持浏览器可以用gif动画 代码里有详细解释就不多说了 ?1. [代码]预加载/瀑布流  <!doctype html><html><head><meta charset="utf-8"><title>定宽Jque

10几款网站瀑布流布局图片无限加载动效

jQuery选项卡形式图片瀑布流布局选项卡切换效果代码 jquery masonry瀑布流插件制作图片瀑布流布局代码 原生js简单瀑布流图片无限加载带鼠标悬停图片遮罩效果 jquery masonry瀑布流插件制作图片瀑布流布局代码 jquery柔韧性的图片滑动瀑布流布局 jquery时间轴插件文字图片瀑布流布局时间轴特效(不兼容IE678) modernizr html5图片预加载瀑布流布局鼠标悬停动画效果代码 jquery.waterfall.js自动底部填充对齐的瀑布流布局代码 jquer

jQuery瀑布流无限拖三大利器:masonry+imagesloaded+infinitescroll

瀑布流已经是几乎过时的技术了,不过对于很多想要快速实现它的朋友而言,却绝非易事,因为即使我们已经有很多现成的代码,却发现在自己的开发环境中无法快速得到自己想要的结果.就像我们现在要介绍的三大利器(masonry+imagesloaded+infinitescroll)即使它们是如此有效,却在马上要使用的时候让我们拿着如烫手山芋班很难真正达到我们想要的效果. 下面,我们从其原理来讲解它们的使用,以帮助你更好的发挥它的功效.但为了快速实现,我们不讲解它们的全部内容. 1. 合理的HTML布局是问题的

瀑布流插件|jquery.masonry|使用demo

Maonsry+Infinite-Scroll实现滚动式分页,网上有很多,这里只说: 瀑布流插件的一个基本使用,附上基本功能的demo <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jquery.masonry的跑通demo</title> <script type=

网页瀑布流布局jQuery实现代码

网页瀑布流布局jQuery实现代码 这篇文章主要为大家详细介绍了网页瀑布流布局jQuery实现方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 什么是瀑布流网页布局? 瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部. 下面来看代码,用纯CSS3来做看效果怎样! HTML 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2

jQuery模拟瀑布流布局

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>瀑布流</title> <style type="text/css"> *{margin: 0; padding: 0; } body{text-align: center;} .content{margin: 0 auto ; text-align: center

jQuery Wookmark 瀑布流布局

瀑布流布局非常适合大量图片的展示,一改过去裁剪图片尺寸统一的排版,每张图片都能完全展示,并错落有致,让人眼前一亮. 版本: jQuery v1.4.3+ jQuery Wookmark Load v1.4.8 注意事项: 项目中的 img 元素的 width 和 height 属性需要写,否则定位会不准确.(可以用 JavaScript 实时获取图片的宽高,但图片数量过多时,这将是一件不靠谱的事情,如果你执意要这么做,可以参考这个 Demo) 查看 Demo 下载 jQuery Wookmark

jQuery响应式网站图片无限加载瀑布流布局

这是一款效果非常酷的 jQuery瀑布流布局无限加载图片效果.整个页面采用响应式布局,图片采用jQuery.Lazyload延时加载技术,提升整个页面的加载速度. 该瀑布流插件还使用BlocksIt技术,在图片加载时有交互抢占位置的动画特效,效果非常炫酷. 在线演示:http://www.htmleaf.com/Demo/2014100223.html 下载地址:http://www.htmleaf.com/jQuery/pubuliuchajian/2014100224.html