全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

基于iScroll实现下拉刷新和上滑加载效果

本文实例为大家分享了iScroll下拉刷新上滑加载展示的具体代码,供大家参考,具体内容如下

html代码:

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;" /> 
<title>iScroll下拉刷新上滑加载</title> 
<link rel="stylesheet" href="style/main.css"/> 
</head> 
<body> 
 
<div class="header">header</div> 
<div id="wrapper"> 
 <div id="scroller"> 
 <div id="pullDown"> 
  <span class="pullDownLabel">下拉刷新</span> 
 </div> 
 <ul id="thelist"> 
  <!--<li>原始数据</li>--> 
 </ul> 
 <div id="pullUp"> 
  <span class="pullUpLabel">上拉加载更多</span> 
 </div> 
 </div> 
</div> 
<div class="footer">footer</div> 
 
<script type="text/javascript" src="script/iscroll.js"></script> 
<script type="text/javascript" src="script/main.js"></script> 
 
</body> 
</html> 

css代码:

body,ul,li {padding:0;margin:0;border:0} 
body {font-size:12px;font-family:microsoft yahei} 
 
.header {position:absolute;top:0; left:0;width:100%;height:45px;line-height:45px;font-size:16px;text-align:center;background:#e6e6e6} 
.footer {position:absolute;bottom:0; left:0;width:100%;height:48px;line-height:48px;font-size:16px;text-align:center;background:#e6e6e6} 
 
#wrapper {position:absolute;top:45px; bottom:48px;left:0;width:100%} 
#scroller li {padding:0 10px;height:60px;line-height:60px;background:#ecf6ff;margin-top:10px} 
#pullDown, #pullUp {padding:0 10px;height:30px;line-height:30px;color:#888;text-align:center} 

js代码:

var myScroll,pullDownEl, pullDownOffset,pullUpEl, pullUpOffset,generatedCount = 0; 
 
function loaded() { 
 //动画部分 
 pullDownEl = document.getElementById('pullDown'); 
 pullDownOffset = pullDownEl.offsetHeight; 
 pullUpEl = document.getElementById('pullUp'); 
 pullUpOffset = pullUpEl.offsetHeight; 
 myScroll = new iScroll('wrapper', { 
 useTransition: true, 
 topOffset: pullDownOffset, 
 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 = '上拉加载更多'; 
  } 
 }, 
 onScrollMove: function () { 
  
  if (this.y > 5 && !pullDownEl.className.match('flip')) { 
  pullDownEl.className = 'flip'; 
  pullDownEl.querySelector('.pullDownLabel').innerHTML = '释放刷新'; 
  this.minScrollY = 0; 
  } else if (this.y < 5 && pullDownEl.className.match('flip')) { 
  pullDownEl.className = ''; 
  pullDownEl.querySelector('.pullDownLabel').innerHTML = 'Pull down to refresh...'; 
  this.minScrollY = -pullDownOffset; 
  } else if (this.y < (this.maxScrollY - 5) && !pullUpEl.className.match('flip')) { 
  pullUpEl.className = 'flip'; 
  pullUpEl.querySelector('.pullUpLabel').innerHTML = '释放刷新'; 
  this.maxScrollY = this.maxScrollY; 
  } else if (this.y > (this.maxScrollY + 5) && pullUpEl.className.match('flip')) { 
  pullUpEl.className = ''; 
  pullUpEl.querySelector('.pullUpLabel').innerHTML = 'Pull up to load more...'; 
  this.maxScrollY = pullUpOffset; 
  } 
 }, 
 onScrollEnd: function () { 
  if (pullDownEl.className.match('flip')) { 
  pullDownEl.className = 'loading'; 
  pullDownEl.querySelector('.pullDownLabel').innerHTML = '加载中';   
  pullDownAction(); // Execute custom function (ajax call?) 
  } else if (pullUpEl.className.match('flip')) { 
  pullUpEl.className = 'loading'; 
  pullUpEl.querySelector('.pullUpLabel').innerHTML = '加载中';   
  pullUpAction(); // Execute custom function (ajax call?) 
  } 
 } 
 }); 
 
 loadAction(); 
} 
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);//阻止冒泡 
document.addEventListener('DOMContentLoaded', function () { setTimeout(loaded, 0); }, false); 
 
//初始状态,加载数据 
function loadAction(){ 
 var el, li; 
 el = document.getElementById('thelist'); 
 for (i=0; i<10; i++) { 
 li = document.createElement('li'); 
 li.innerText = '初始数据--' + (++generatedCount); 
 el.appendChild(li, el.childNodes[0]); 
 } 
 myScroll.refresh(); 
} 
 
//下拉刷新当前数据 
function pullDownAction () { 
 setTimeout(function () { 
 //这里执行刷新操作 
  
 myScroll.refresh(); 
 }, 400); 
} 
 
//上拉加载更多数据 
function pullUpAction () { 
 setTimeout(function () { 
 var el, li; 
 el = document.getElementById('thelist'); 
 for (i=0; i<10; i++) { 
  li = document.createElement('li'); 
  li.innerText = '上拉加载--' + (++generatedCount); 
  el.appendChild(li, el.childNodes[0]); 
 } 
 myScroll.refresh(); 
 }, 400); 
} 

示例:

demo地址:http://test.ixiewei.com/iscroll-4-demo

下载地址:iScroll下拉刷新上滑加载

截图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# iScroll  # 下拉刷新  # 上滑加载  # H5基于iScroll实现下拉刷新和上拉加载更多  # IScroll那些事_当内容不足时下拉刷新的解决方法  # iscroll-probe实现下拉刷新和下拉加载效果  # iOS下拉刷新 UIScrollVie异常闪动问题  # 基于iscroll.js实现下拉刷新和上拉加载效果  # 基于HTML5上使用iScroll实现下拉刷新  # 上拉加载更多  # iscroll碰到Select无法选择下拉刷新的解决办法  # iscroll.js的上拉下拉刷新时无法回弹的解决方法  # JQuery插件iScroll实现下拉刷新  # 滚动翻页特效  # iscroll实现下拉刷新功能  # 加载  # 加载中  # 下载地址  # 大家分享  # 具体内容  # 大家多多  # 原始数据  # ul  # span  # pullDownLabel  # thelist  # pullUpLabel  # pullUp  # li  # pullDown  # body  # div  # main  # css  # wrapper 


相关文章: 如何通过万网虚拟主机快速搭建网站?  建站主机选哪家性价比最高?  SQL查询语句优化的实用方法总结  建站为何优先选择香港服务器?  长沙做网站要多少钱,长沙国安网络怎么样?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  建站主机选购指南:核心配置与性价比推荐解析  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  免费视频制作网站,更新又快又好的免费电影网站?  建站主机与服务器功能差异如何区分?  如何在宝塔面板创建新站点?  如何快速配置高效服务器建站软件?  制作网页的网站有哪些,电脑上怎么做网页?  北京网站制作公司哪家好一点,北京租房网站有哪些?  如何在Windows虚拟主机上快速搭建网站?  为什么Go需要go mod文件_Go go mod文件作用说明  如何在云主机上快速搭建网站?  ,巨量百应是干嘛的?  网站专业制作公司有哪些,做一个公司网站要多少钱?  如何快速生成专业多端适配建站电话?  C#如何序列化对象为XML XmlSerializer用法  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  网站制作公司排行榜,四大门户网站排名?  三星网站视频制作教程下载,三星w23网页如何全屏?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  建站主机默认首页配置指南:核心功能与访问路径优化  如何快速建站并高效导出源代码?  如何确认建站备案号应放置的具体位置?  浅析上传头像示例及其注意事项  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何用景安虚拟主机手机版绑定域名建站?  如何通过NAT技术实现内网高效建站?  如何用搬瓦工VPS快速搭建个人网站?  已有域名和空间,如何快速搭建网站?  宁波自助建站系统如何快速打造专业企业网站?  专业网站建设制作报价,网页设计制作要考什么证?  香港服务器如何优化才能显著提升网站加载速度?  c# 在高并发场景下,委托和接口调用的性能对比  微信小程序 input输入框控件详解及实例(多种示例)  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  如何用好域名打造高点击率的自主建站?  如何在西部数码注册域名并快速搭建网站?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  中山网站推广排名,中山信息港登录入口?  中山网站制作网页,中山新生登记系统登记流程?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。