a javascript implementation of pull to refresh and up to loadmore
移动端下拉刷新、上拉加载更多插件
根据网友提议,默认内容过少时,自动触发加载下方内容,只会加载一次,如果内容还不够一屏,无法继续触发。并且修复lock()
,增加参数可以手动锁定上方或者下方。
- 增加默认判断内容过少自动加载下方内容
* Add the content load automatically when it less than a screen * 优化`lock()`,默认智能判断,如加参数`lock('up')`锁定上方,如加参数`lock('down')`锁定下方
* lock automatically and use 'lock('up')' and lock('down') to lock refresh and loadmore
DEMO2,加载顶部、底部(refresh & loadmore)
DEMO3,固定布局,加载顶部、底部(refresh & loadmore with fixed navbar)
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)
引用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();
}
});
}
});
进阶用法详见上面DEMO2,DEMO3
参数 | 说明 | 默认值 | 可填值 |
---|---|---|---|
scrollArea | 滑动区域 | 绑定元素自身 | window |
domUp | 上方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>' } |
数组 |
distance | 拉动距离 | 50 | 数字 |
threshold | 提前加载距离 | 加载区高度2/3 | 正整数 |
loadUpFn | 上方function | 空 | function(me){ //你的代码 me.resetload(); } |
loadDownFn | 下方function | 空 | function(me){ //你的代码 me.resetload(); } |
暴露一些功能,可以让dropload更灵活的使用
lock()
锁定dropload
参数 | 说明 |
---|---|
lock() |
智能锁定,锁定上一次加载的方向 |
lock('up') |
锁定上方 |
lock('down') |
锁定下方 |
unlock()
解锁dropload
noData()
无数据
resetload()
重置。每次数据加载完,必须重置