基于iScroll实现下拉刷新和上滑加载效果
发布时间 - 2026-01-11 02:23:26 点击率:次本文实例为大家分享了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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何快速生成橙子建站落地页链接?
网易LOFTER官网链接 老福特网页版登录地址
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
如何挑选最适合建站的高性能VPS主机?
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
浅述节点的创建及常见功能的实现
微信推文制作网站有哪些,怎么做微信推文,急?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
如何在云虚拟主机上快速搭建个人网站?
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
PHP正则匹配日期和时间(时间戳转换)的实例代码
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
如何用y主机助手快速搭建网站?
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
如何用腾讯建站主机快速创建免费网站?
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
如何注册花生壳免费域名并搭建个人网站?
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
Android自定义控件实现温度旋转按钮效果
如何快速搭建高效简练网站?
PythonWeb开发入门教程_Flask快速构建Web应用
LinuxCD持续部署教程_自动发布与回滚机制
在线教育网站制作平台,山西立德教育官网?
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
如何快速生成可下载的建站源码工具?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
如何确保FTP站点访问权限与数据传输安全?
如何在橙子建站上传落地页?操作指南详解
零服务器AI建站解决方案:快速部署与云端平台低成本实践
详解阿里云nginx服务器多站点的配置
如何制作一个表白网站视频,关于勇敢表白的小标题?
JS碰撞运动实现方法详解
如何在阿里云购买域名并搭建网站?
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
创业网站制作流程,创业网站可靠吗?
网站制作壁纸教程视频,电脑壁纸网站?
网站图片在线制作软件,怎么在图片上做链接?
网站建设保证美观性,需要考虑的几点问题!
中国移动官方网站首页入口 中国移动官网网页登录
如何在IIS中新建站点并解决端口绑定冲突?
javascript中的try catch异常捕获机制用法分析
EditPlus中的正则表达式实战(6)
JavaScript如何实现音频处理_Web Audio API如何工作?
手机网站制作与建设方案,手机网站如何建设?
如何快速登录WAP自助建站平台?
独立制作一个网站多少钱,建立网站需要花多少钱?

