手机端下拉获取新数据

mac2022-06-30  73

https://github.com/ximan/dropload

 

dropload

a javascript implementation of pull to refresh and up to loadmore 移动端下拉刷新、上拉加载更多插件

背景介绍 (introduce)

年前把tab例子加上来让群友测试,果然群众的力量是伟大的!立马就检测出来bug,我当即修复好,只是用法比较复杂,暂时还想不出更方便的办法。顺便把上个版本的dropReload() API删掉,功能集成到之前resetload()里。另外还修复一个朋友发现的只调用下拉刷新,代码判断bug。

历史背景介绍

最新版本 (The latest version)

0.9.0(160215)

删除dropReload() API,功能集成到之前resetload()里优化noData(),noData(false)为有数据修复只调用下拉刷新,不调用上拉加载更多bug

所有更新日志

示例 (demo)

 DEMO1,加载底部(loadmore)

 DEMO2,加载顶部、底部(refresh & loadmore)

 DEMO3,特殊布局,加载顶部、底部(refresh & loadmore with fixed navbar)

 DEMO4,按需加载

 DEMO5,tab加载数据

依赖 (dependence)

Zepto 或者 jQuery 1.7以上版本,推荐jQuery 2.x版本(二者不要同时引用) Zepto or jQuery 1.7+,recommend to use jQuery 2.x(not use them at the same time)

使用方法 (usage)

引用css和js (basic)

<link rel="stylesheet" href="../dist/dropload.css"> <script src="../dist/dropload.min.js"></script> $('.element').dropload({ scrollArea : window, loadDownFn : function(me){ $.ajax({ type: 'GET', url: 'json/more.json', dataType: 'json', success: function(data){ alert(data); // 每次数据加载完,必须重置 me.resetload(); }, error: function(xhr, type){ alert('Ajax error!'); // 即使加载出错,也得重置 me.resetload(); } }); } });

(注明:所有示例里ajax和setTimeout都是为了模拟加载效果而写的,与本插件无直接关系。ajax建议自己写,无特殊情况不必copy我的ajax写法,因为写得太烂。如需下载本地运行,请在本机装服务器环境,否则ajax会报错。)

参数列表 (options)

参数说明默认值可填值scrollArea滑动区域绑定元素自身windowdomUp上方DOM{domClass : 'dropload-up',domRefresh : '<div class="dropload-refresh">↓下拉刷新</div>',domUpdate : '<div class="dropload-update">↑释放更新</div>',domLoad : '<div class="dropload-load">○加载中...</div>'}数组domDown下方DOM{domClass : 'dropload-down',domRefresh : '<div class="dropload-refresh">↑上拉加载更多</div>',domLoad : '<div class="dropload-load">○加载中...</div>',domNoData : '<div class="dropload-noData">暂无数据</div>'}数组autoLoad自动加载truetrue和falsedistance拉动距离50数字threshold提前加载距离加载区高度2/3正整数loadUpFn上方function空function(me){//你的代码me.resetload();}loadDownFn下方function空function(me){//你的代码me.resetload();}

API

暴露一些功能,可以让dropload更灵活的使用

lock() 锁定dropload

参数说明lock()智能锁定,锁定上一次加载的方向lock('up')锁定上方lock('down')锁定下方

unlock() 解锁dropload

noData() 无数据

参数说明noData()无数据noData(true)无数据noData(false)有数据

resetload() 重置。每次数据加载完,必须重置

dropReload() 手动加载

已知问题

由于部分Android中UC和QQ浏览器头部有地址栏,并且一开始滑动页面隐藏地址栏时,无法触发scroll和resize,所以会导致部分情况无法使用。解决方案1:增加distance距离,例如DEMO2中distance:50;解决方案2:加meta使之全屏显示 <meta name="full-screen" content="yes"> <meta name="x5-fullscreen" content="true">

转载于:https://www.cnblogs.com/hgj123/p/5551097.html

相关资源:dropload.js各种基础Demo
最新回复(0)