使用dropload.js插件进行下拉刷新
移动端的下拉刷新是一个比较常见的功能了,网上也有很多框架,插件都有这种功能,所以直接拿来用就好了。
html代码:
<!--选项卡-->
<div class="tab">
<div class="active fl tabL item">
<span>少儿培优</span>
</div>
<div class="tabR fr item">
<span>老年大学</span>
</div>
</div>
<!--选项卡中的内容-->
<div class="content">
<!--第一页-->
<ul class="content-01 lists"></ul>
<!--第二页-->
<ul class="content-02 lists"></ul>
</div>
script代码
var itemIndex = 0;
var tab1LoadEnd = false;
var tab2LoadEnd = false;
$('.tab .item').on('click',function(){
var $this = $(this);
itemIndex = $this.index();
});
//AJAX数据请求JS控制加载
var counter1 = 0;
// 每页展示4个
var num1 = 4;
var pageStart1 = 0,pageEnd1 = 0;
var counter2 = 0;
// 每页展示4个
var num2 = 4;
var pageStart2 = 0,pageEnd2 = 0;
// dropload
var dropload = $('.content').dropload({
scrollArea : window,
domDown : {
domClass : 'dropload-down',
domRefresh : '<div class="dropload-refresh">↑上拉加载更多</div>',
domLoad : '<div class="dropload-load"><span class="loading"></span>加载中...</div>',
domNoData : '<div class="dropload-noData">暂无更多</div>'
},
loadDownFn : function(me){
// 加载菜单一的数据
if(itemIndex == '0'){
$.ajax({
type: 'GET',
url:"JSON/jsonL_education.js",
dataType: 'json',
success: function(data){
var result = '';
counter1++;
pageEnd1 = num1 * counter1;
pageStart1 = pageEnd1 - num1;
if(pageStart1 <= data.length){
for(var i = pageStart1; i < pageEnd1; i++){
result += '<li class="content-A">' +
'<div class="fl content-L">' +
'<img src='+data[i].image+'>' +
'</div>' +
'<div class="fr content-R">' +
'<h4>'+data[i].title+'</h4>' +
'<h5>'+data[i].main+'</h5>' +
'<br><em>'+data[i].price+'</em><a href="javascript:void(0);">查看详情</a>' +
'</div>'+
'</li>';
if((i + 1) >= data.length){
// 数据加载完
tab1LoadEnd = true;
// 锁定
me.lock();
// 无数据
me.noData();
break;
}
}
// 为了测试,延迟1秒加载
setTimeout(function(){
$('.lists').eq(0).append(result);
// 每次数据加载完,必须重置
me.resetload();
},100);
}
},
error: function(xhr, type){
alert('Ajax error!');
// 即使加载出错,也得重置
me.resetload();
}
});
}
// 加载菜单二的数据
else if(itemIndex == '1'){
var result = '';
$.ajax({
type: 'GET',
url:"JSON/jsonR_education.js",
dataType: 'json',
success: function(data){
var result = '';
counter2++;
pageEnd2 = num2 * counter2;
pageStart2 = pageEnd2 - num2;
if(pageStart2 <= data.length){
for(var i = pageStart2; i < pageEnd2; i++){
result += '<li class="content-A">' +
'<div class="fl content-L">' +
'<img src='+data[i].image+'>' +
'</div>' +
'<div class="fr content-R">' +
'<h4>'+data[i].title+'</h4>' +
'<h5>'+data[i].main+'</h5>' +
'<br><em>'+data[i].price+'</em><a href="javascript:void(0);">查看详情</a>' +
'</div>'+
'</li>';
if((i + 1) >= data.length){
// 数据加载完
tab2LoadEnd = true;
// 锁定
me.lock();
// 无数据
me.noData();
break;
}
}
// 为了测试,延迟1秒加载
setTimeout(function(){
$('.lists').eq(1).append(result);
// 每次数据加载完,必须重置
me.resetload();
},100);
}
},
error: function(xhr, type){
alert('Ajax error!');
// 即使加载出错,也得重置
me.resetload();
}
});
}
}
});
使用dropload.js插件进行下拉刷新的更多相关文章
- H5页面基于iScroll.js插件实现下拉刷新,上拉加载更多
前言 在我之前的项目中,页面总是干巴巴的,用户的体验不是特别完美,我也是一直觉得把设计师给到的psd做出来就好,很少考虑用户的感受.我喜欢看不同的App,操作每个步骤,观赏每个能和我互动的交互设计效果 ...
- 使用iscroll插件实现下拉刷新功能
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- Ionic Js三:下拉刷新
在加载新数据的时候,我们需要实现下拉刷新效果,代码如下: HTML 代码 <body ng-app="starter" ng-controller="actions ...
- js 前端实现下拉刷新 上拉加载
效果 css html,body{ height:100%; // 其他界面未设置html 无法监听scroll } /* 下拉刷新 */ .refresh-loading { transition: ...
- 【H5】dropload (移动端下拉刷新,上拉加载)
插件概要地址:http://ximan.github.io/dropload/ 一般下载其中的demo2对照修改即可使用. 小吐槽.我在项目中用的时候,有个后端说ajax麻烦但是还是要做体现他很热爱工 ...
- js判断是否下拉刷新
if(document.body.scrollTop + window.innerHeight>=document.body.clientHeight-10){ this.loadPointsL ...
- mui下拉刷新上拉加载
新外卖商家端主页订单大厅页面 使用mui双webview,实现下拉刷新上拉加载 主页面: order_index.html <!doctype html> <html> < ...
- vue 下拉刷新实现
[手动实现下拉刷新]可以用vue-pull-refash 插件代替 //下拉刷新 let scroll = this.$ref.scroll // 获取当前要拖拽的元素 let top = scrol ...
- 移动端下拉刷新、加载更多插件dropload.js(基于jQuery/Zepto)
移动端下拉刷新.加载更多插件dropload.js(基于jQuery/Zepto) 原文:http://www.grycheng.com/?p=1869 废话不多说,先让大家看一下案例效果: DEMO ...
随机推荐
- JVM和java应用服务器调优
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt413 对于调优这个事情来说,一般就是三个过程: 性能监控:问题没有发生,你并 ...
- C语言中复数运算及调用blas,lapack中复数函数进行科学计算
C语言中常用的数据类型主要int, float ,double ,char 等,但在科学运算中复数扮演着重要角色.这里讲下C语言中的复数运算以及如何调用blas,lapack库中的复数函数来进行科学计 ...
- 《深入浅出MySQL》之SQL基础
SQL是Structure Query language(结构化查询语言)的缩写,它是使用关系模型的数据库应用语言.在众多开源数据中,MySQL正式其中最杰出的代表,MySQL是由三个瑞典人于20世纪 ...
- 个人作业3——个人总结(Alpha阶段)。
一:个人总结: 陆续几周以及加上上上一周的Alpha冲刺阶段,完成了实验室故障报修系统的基础框架以及内容.这个过程苦中有乐,或许苦中寻乐更加恰当,以一个小组团队的形式来完成这个项目,我们大家就变成了一 ...
- Swing-JMenu菜单用法-入门
菜单是Swing客户端程序不可获取的一个组件.窗体菜单大致由菜单栏.菜单和菜单项三部分组成,如下图所示: 由图可见,对于一个窗体,首先要添加一个JMenuBar,然后在其中添加JMenu,在JMenu ...
- 201521123022 《Java程序设计》 第六周学习总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 2. 书面作业 Q1.clone方法 Q1.1 Objec ...
- Java课程设计——计算器
1.团队课程设计博客链接 http://www.cnblogs.com/yuanj/p/7072137.html 2.个人负责模块或任务说明 确定课题并进行任务分工 编写计算器删除,清零,清空,小数点 ...
- 201521123022 《Java程序设计》 第十周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 Q1.finally 题目4-2 Q1.1 截图你的提交结果 ...
- 201521123030 《Java程序设计》 第14周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自 ...
- Hyperledger Fabric 1.0 从零开始(四)——Fabric源码及镜像文件处理
2:Fabric源码及镜像文件处理 2.1下载Fabric源码 下载Fabric源码是因为要用到源码中提到的列子和工具,工具编译需要用到go语言环境,因此需要把源码目录放到$GOPATH下.通过1.3 ...