移动端的下拉刷新是一个比较常见的功能了,网上也有很多框架,插件都有这种功能,所以直接拿来用就好了。

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插件进行下拉刷新的更多相关文章

  1. H5页面基于iScroll.js插件实现下拉刷新,上拉加载更多

    前言 在我之前的项目中,页面总是干巴巴的,用户的体验不是特别完美,我也是一直觉得把设计师给到的psd做出来就好,很少考虑用户的感受.我喜欢看不同的App,操作每个步骤,观赏每个能和我互动的交互设计效果 ...

  2. 使用iscroll插件实现下拉刷新功能

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  3. Ionic Js三:下拉刷新

    在加载新数据的时候,我们需要实现下拉刷新效果,代码如下: HTML 代码 <body ng-app="starter" ng-controller="actions ...

  4. js 前端实现下拉刷新 上拉加载

    效果 css html,body{ height:100%; // 其他界面未设置html 无法监听scroll } /* 下拉刷新 */ .refresh-loading { transition: ...

  5. 【H5】dropload (移动端下拉刷新,上拉加载)

    插件概要地址:http://ximan.github.io/dropload/ 一般下载其中的demo2对照修改即可使用. 小吐槽.我在项目中用的时候,有个后端说ajax麻烦但是还是要做体现他很热爱工 ...

  6. js判断是否下拉刷新

    if(document.body.scrollTop + window.innerHeight>=document.body.clientHeight-10){ this.loadPointsL ...

  7. mui下拉刷新上拉加载

    新外卖商家端主页订单大厅页面 使用mui双webview,实现下拉刷新上拉加载 主页面: order_index.html <!doctype html> <html> < ...

  8. vue 下拉刷新实现

    [手动实现下拉刷新]可以用vue-pull-refash 插件代替 //下拉刷新 let scroll = this.$ref.scroll // 获取当前要拖拽的元素 let top = scrol ...

  9. 移动端下拉刷新、加载更多插件dropload.js(基于jQuery/Zepto)

    移动端下拉刷新.加载更多插件dropload.js(基于jQuery/Zepto) 原文:http://www.grycheng.com/?p=1869 废话不多说,先让大家看一下案例效果: DEMO ...

随机推荐

  1. 开源项目Druid的提取SQL模板

    在数据库审计中,常常用到SQL模板,这样提取一次模板,下一次就不用对相同的模板的SQL进行相关操作.对此Druid提供相应的工具类进行SQL模板提取: package com.dbappsecurit ...

  2. C# 引用类型之特例string

    在C#编程的时候经常会使用字符串(string)类型,它也是引用类型,但是处处都不作为引用的用法来使用,实属特例,下来我一一罗列出来,供自己记忆方便: 1)字符串的直接赋值:本身字符串就是引用类型,应 ...

  3. 团队作业7---Alpha冲刺值事后诸葛

    一.设想和目标 1.我们的软件要解决什么问题? 解决教师和助教对实验报告查重的问题,拥有两个用户:1.教师或助教:查看学生实验报告的重复率:4.学生:上传实验报告. 2.是否定义得很清楚?是否对典型用 ...

  4. 团队作业8——第二次项目冲刺(Beta阶段)--第一天

    一.Daily Scrum Meeting照片 二.燃尽图 三.项目进展 学号 成员 贡献比 201421123001 廖婷婷 16% 201421123002 翁珊 15% 201421123004 ...

  5. 201521123019 《Java程序设计》第7周学习总结

    1. 本章学习总结 2. 书面作业 Q1.ArrayList代码分析 1.1解释ArrayList的contains源代码 源代码如下: public boolean contains(Object ...

  6. Ubuntu下Java开发环境搭建(eclipse)

    最近把工作环境转移到了Ubuntu Kylin下,发现在这下面Java环境还是很方便的.然而也经历了一些摸索的过程,故作文以记之. 一/开发前准备 安装系统/配置软件源,这部分内容没什么需要注意的.O ...

  7. 201521123037 《Java程序设计》第11周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. Java多线程之Executor.ExecutorService.Executors.Callable.Futur ...

  8. 201521145048《Java程序设计》第11周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 Q1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) ...

  9. 201521123035《Java程序设计》第十三周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu ...

  10. Java课程设计--GUI密码生成器201521123033

    1.团队课程设计题目 基于GUI的密码生成器 团队博客链接 2.个人负责模块 (1)界面设计 (2)部分错误输入的提示 (3)一键复制密码功能的实现 3.个人代码的提交记录截图 4.个人代码展示以及代 ...