首页前端开发HTMLjquery 瀑布流插件

jquery 瀑布流插件

时间2024-05-20 01:12:03发布访客分类HTML浏览104
导读:瀑布流布局插件, 类似于Pinterest、花瓣、发现啦。 文档 项目地址 https://github.com/bingdian/waterfall 下载 下载waterfall插件最新版本。 使用 html: 引入jquery,han...

瀑布流布局插件, 类似于Pinterest、花瓣、发现啦。

文档

项目地址

https://github.com/bingdian/waterfall

下载

下载waterfall插件最新版本。

使用

html:

引入jquery,handlebars和waterfall(注:waterfall默认返回json格式数据并使用handlebars模板渲染json数据,你也可以在options中配置使用其它javascript模板如mustache解析json数据或者直接返回html):

template:

 //template content

script:

$('#container').waterfall(options);
    

options

Name Type Default value Description
itemCls String ‘waterfall-item’ 瀑布流数据块class
prefix String ‘waterfall’ 瀑布流元素前辍
fitWidth Boolean true 是否自适应父元素宽度
colWidth Integer 240 瀑布流每列的宽度
gutterWidth Integer 10 数据块水平间距
gutterHeight Integer 10 数据块垂直间距
align String ‘center’ 数据块相对于容器对齐方式,'align', ‘left’, ‘right’
minCol Integer 1 数据块最小列数
maxCol Integer undefined 数据块最多显示列数,默认undefined,最大列数无限制
maxPage Integer undefined 最多显示多少页数据,默认undefined,无限下拉
bufferPixel Integer -50 滚动时, 窗口底部到瀑布流最小高度列的距离 > bufferPixel时, 自动加载新数据
containerStyle Object { position: ‘relative’} 瀑布流默认样式
resizable Boolean true 缩放时是否触发数据重排
isFadeIn Boolean false 新插入数据是否使用fade动画
isAnimated Boolean false resize时数据是否显示动画
animationOptions Object { } resize动画效果,isAnimated为true时有效
isAutoPrefill Boolean true 当文档小于窗口可见区域,自动加载数据
checkImagesLoaded Boolean true 是否图片加载完成后开始排列数据块。如果直接后台输出图片尺寸,可设置为false,强烈建议从后台输出图片尺寸,设置为false
path Array, Function undefined 瀑布流数据分页url,可以是数组如["/popular/page/", "/"] => "/popular/page/1/",或者是根据分页返回一个url方法如:function(page) { return ‘/populr/page/’ + page; } => "/popular/page/1/"
dataType String ‘json’ 瀑布流返回数据格式,'json', ‘jsonp’, ‘html’
params Object { } 瀑布流数据请求参数,{ type: "popular", tags: "travel", format: "json"} => "type=popular& tags=travel& format=json"
loadingMsg Html 见下面代码 加载提示进度条,html
callbacks Object 见下面代码 callback

loadingMsg:

'&
    lt;
    div style="text-align:center;
    padding:10px 0;
     color:#999;
    ">
    &
    lt;
    img src="data:image/gif;
    base64,R0lGODlhEAALAPQAAP///zMzM+Li4tra2u7u7jk5OTMzM1hYWJubm4CAgMjIyE9PT29vb6KiooODg8vLy1JSUjc3N3Jycuvr6+Dg4Pb29mBgYOPj4/X19cXFxbOzs9XV1fHx8TMzMzMzMzMzMyH5BAkLAAAAIf4aQ3JlYXRlZCB3aXRoIGFqYXhsb2FkLmluZm8AIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7" alt="">
    &
    lt;
    br />
    Loading...&
    lt;
    /div>
    '

callbacks:

callbacks: {
 /* * ajax请求开始之前 * @param {
Object}
 loading $('#waterfall-loading') */ loadingStart: function($loading) {
     $loading.show();
 }
, /* * ajax请求加载完成 * @param {
Object}
 loading $('#waterfall-loading') * @param {
Boolean}
 isBeyondMaxPage */ loadingFinished: function($loading, isBeyondMaxPage) {
 if ( !isBeyondMaxPage ) {
     $loading.fadeOut();
 }
 else {
     $loading.remove();
 }
 }
, /* * ajax请求出错误 * @param {
String}
 xhr , "end" "error" */ loadingError: function($message, xhr) {
     $message.html('Data load faild, please try again later.');
 }
, /* * 处理ajax返回数方法 * @param {
String}
 data * @param {
String}
 dataType , "json", "jsonp", "html" */ renderData: function (data, dataType) {
     var tpl, template;
 if ( dataType === 'json' || dataType === 'jsonp' ) {
     // json或jsonp格式 tpl = $('#waterfall-tpl').html();
     template = Handlebars.compile(tpl);
     return template(data);
 }
 else {
     // html格式 return data;
 }
 }
}
    

method

$('#container').waterfall( 'methodName', [optionalParameters] );
    

prepend

$('#container').waterfalll('prepend', $content, callback);
    

append

$('#container').waterfalll('append', $content, callback);
    

removeItems

$('#container').waterfalll('removeItems', $items, callback);
    

reLayout

$('#container').waterfalll('reLayout', $content, callback);
    

pause

$('#container').waterfalll('pause', callback);
    

resume

$('#container').waterfalll('resume', callback);
    

option

$('#container').waterfalll('option', options, callback);
    

Demos

  • 无限下拉数据
  • 有限下拉数据完成后显示分页
  • 瀑布流固定宽度
  • 自定义最大列最小列
  • resize动画效果
  • 加载数据时fadeIn效果
  • 左侧或右侧固定列
  • 使用其它模板如mustache解析json数据
  • ajax加载html格式
  • 没有更多数据处理
  • ajax加载jsonp格式

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: jquery 瀑布流插件
本文地址: https://pptw.com/jishu/663809.html
div布局与table布局详解 HTML5中的拖放事件(Drag 和 drop)

游客 回复需填写必要信息