热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

iscroll实现上拉加载下拉刷新

<!DOCTYPEhtml><html><head><metacharsetUTF-8><meta









— 下 拉 刷 新 —



下拉刷新





上拉加载更多



— 上 拉 加 载 —





 //css样式

* {margin: 0;padding: 0; }

header, footer {width:
100%;height: 40px;line-height: 40px;background: #EEEEEE;text-align: center;font-size: 18px;font-weight: 600; position: absolute;left: 0; }

header {top:
0; }

footer {bottom:
0; }

section {overflow
-y: scroll;background: lightskyblue;position: absolute;top: 40px;bottom: 40px;width: 100%; }
section ul {padding: 5px; }
section ul li {background: #FFFFFF;margin
-bottom: 10px;text-align: center;line-height: 36px;list-style: none; }
#scroller {position: absolute;top:
-30px;left: 0;width: 100%; }
#scroller #pullDown, #scroller #pullUp {padding:
0 10px;height: 30px;line-height: 30px;color: #888;text-align: center; }

//js代码

var myScroll, pullDownEl, pullDownOffset, pullUpEl, pullUpOffset, generatedCount = 0;
loaded();
//根据下拉距离更改内容
init(); // 初始化页面内容
function pullDownAction() {
setTimeout(function () {
//do init
console.log('刷新完成');
myScroll.refresh();
},
1000)
}
function pullUpAction() {
var wrap =document.getElementById('list')
for(var i=0;i<5;i++){
var newli = document.createElement('li');
newli.innerHTML
= '加载数据--' + (++generatedCount);
wrap.appendChild(newli)
}
myScroll.refresh()
}
function init(){
var wrap =document.getElementById('list')
for(var i=0;i<10;i++){
var newli = document.createElement('li');
newli.innerHTML
= '初始数据--' + (++generatedCount);
wrap.appendChild(newli, wrap.childNodes[
0])
}
myScroll.refresh()
}
function loaded(){
pullDownEl
= document.getElementById('pullDown');
pullUpEl
= document.getElementById('pullUp');
pullDownOffset
= pullDownEl.offsetTop;
pullUpOffset
= pullUpEl.offsetTop;
myScroll
= new iScroll('wrapper',{
topOffset: pullDownOffset,
onScrollMove: function () {
if(this.y > 40 && !pullDownEl.className.match('flip')){
pullDownEl.className
= 'flip';
pullDownEl.querySelector(
".pullDownLabel").innerHTML = "释放刷新";
}
else if(this.y <this.maxScrollY && !pullUpEl.className.match('flip')){
pullUpEl.className
= 'flip';
pullUpEl.querySelector(
".pullUpLabel").innerHTML = "释放刷新";
}

}
,
onScrollEnd: function () {
if (pullDownEl.className.match("flip")) {
pullDownEl.className
= "loading";
pullDownEl.querySelector(
".pullDownLabel").innerHTML = "正在加载";
pullDownAction();
}
else if(pullUpEl.className.match("flip")){
pullUpEl.className
= "loading";
pullUpEl.querySelector(
".pullUpLabel").innerHTML = "正在加载";
pullUpAction();
}
},
onRefresh: function () {
if (pullDownEl.className.match("loading")) {
pullDownEl.className
= "";
pullDownEl.querySelector(
".pullDownLabel").innerHTML = "下拉刷新";
}
else if(pullUpEl.className.match("loading")){
pullUpEl.className
= "";
pullUpEl.querySelector(
".pullUpLabel").innerHTML = "加载更多";
}
}
})
console.log(myScroll)
}

 


推荐阅读
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • 移动端常用单位——rem的使用方法和注意事项
    本文介绍了移动端常用的单位rem的使用方法和注意事项,包括px、%、em、vw、vh等其他常用单位的比较。同时还介绍了如何通过JS获取视口宽度并动态调整rem的值,以适应不同设备的屏幕大小。此外,还提到了rem目前在移动端的主流地位。 ... [详细]
  • [echarts] 同指标对比柱状图相关的知识介绍及应用示例
    本文由编程笔记小编为大家整理,主要介绍了echarts同指标对比柱状图相关的知识,包括对比课程通过率最高的8个课程和最低的8个课程以及全校的平均通过率。文章提供了一个应用示例,展示了如何使用echarts制作同指标对比柱状图,并对代码进行了详细解释和说明。该示例可以帮助读者更好地理解和应用echarts。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • 网址:https:vue.docschina.orgv2guideforms.html表单input绑定基础用法可以通过使用v-model指令,在 ... [详细]
  • 本文介绍了一款名为TimeSelector的Android日期时间选择器,采用了Material Design风格,可以在Android Studio中通过gradle添加依赖来使用,也可以在Eclipse中下载源码使用。文章详细介绍了TimeSelector的构造方法和参数说明,以及如何使用回调函数来处理选取时间后的操作。同时还提供了示例代码和可选的起始时间和结束时间设置。 ... [详细]
  • pythonMatplotlib(二)
    Matplotlib+pandas作图一、对csv文件进行提取ruixi.csv对上述表格进行提取并做图画出图像二、对.xlsx进行提取:rui ... [详细]
author-avatar
黛萊美文婷
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有