framework7 下拉刷新、无限滚动
下拉刷新:
html:
<div class="page-content ptr-content">
<%--下拉刷新图标--%>
<div class="ptr-preloader">
<div class="preloader"></div>
<div class="ptr-arrow"></div>
</div>
<div class="page-content" style="padding-top:0px">
<div class="card">
<div class="card-footer"><span style="color: #CC0000">案例1</span>
</div>
</div>
<div class="card">
<div class="card-footer"><span style="color: #CC0000">案例2</span>
</div>
</div>
</div>
</div>
js:
<script>
return {
on: {
pageInit: function (e, done) {
$('.ptr-content').on('ptr:refresh', function (e) {
//此处编写刷新逻辑代码
console.log("开始刷新");
setTimeout(function () {
console.log("结束");
app.ptr.done();
}, 1000);
});
}
}
}
</script>
无限滚动:
html:
<%--无限滚动容器--%>
<div class="page-content infinite-scroll-content">
<div class="simple-list">
<div class="card">
<div class="card-footer"><span style="color: #CC0000">案例1</span>
</div>
</div>
<div class="card">
<div class="card-footer"><span style="color: #CC0000">案例2</span>
</div>
</div>
<div class="card">
<div class="card-footer"><span style="color: #CC0000">案例3</span>
</div>
</div>
<div class="card">
<div class="card-footer"><span style="color: #CC0000">案例4</span>
</div>
</div>
</div>
<%--预加载器--%>
<div class="preloader infinite-scroll-preloader"></div>
</div>
js:
<script>
return {
on: {
pageInit: function (e, done) {
var allowInfinite = true;//加载标志
var lastItemIndex = $('.simple-list div[class="card"]').length;//现有加载量
var maxItems = 200;//最大加载量
var itemsPerLoad = 5;//每次加载量 //滚动事件处理程序
$('.infinite-scroll-content').on('infinite', function () {
if (!allowInfinite) return;// 如果正在加载,退出
console.log("当前数量:" + lastItemIndex);
allowInfinite = false;//设置加载标志 //模拟1秒加载
setTimeout(function () {
//设置正在加载标志
allowInfinite = true;
if (lastItemIndex >= maxItems) {
app.infiniteScroll.destroy('.infinite-scroll-content');//没有更多可加载项,销毁加载事件,防止不必要加载
$('.infinite-scroll-preloader').remove(); //删除预紧器
return;
}
//生成新html
var html = '';
for (var i = lastItemIndex + 1; i <= lastItemIndex + itemsPerLoad; i++) {
html += '<div class="card">';
html += '<div class="card-footer">';
html += '<span style="color: #CC0000">案例' + i + '</span>';
html += '</div>';
html += '</div>';
}
$('.simple-list').append(html); //绑定
lastItemIndex = $('.simple-list div[class="card"]').length; //更新最近索引
console.log("加载后数量:" + lastItemIndex);
}, 1000);
});
}
}
}
</script>
解释:
pageInit: function (e, done) {} 代表文档就绪函数
$('.ptr-content').on('ptr:refresh', function (e) {} 代表class为“ptr-content”的div下拉刷新事件(ptr:refresh是下拉刷新事件)
$('.infinite-scroll-content').on('infinite', function () {} 代表class为“infinite-scroll-content”的div滚动事件(infinite是滚动事件)
如有问题,欢迎留言
framework7 下拉刷新、无限滚动的更多相关文章
- jQuery WeUI 组件下拉刷新和滚动加载的实现
最近在做手机版使用到了下拉刷新和滚动加载,记录一下实现过程: 一.引入文件 ? 1 2 3 4 <link rel="stylesheet" href="Conte ...
- XRecyclerView:实现下拉刷新、滚动到底部加载更多以及添加header功能的RecyclerView
介绍: 一个实现了下拉刷新,滚动到底部加载更多以及添加header功能的的RecyclerView.使用方式和RecyclerView完全一致,不需要额外的layout,不需要写特殊的adater. ...
- JRoll 2 使用文档(史上最强大的下拉刷新,滚动,无限加载插件)
概述 说明 JRoll,一款能滚起上万条数据,具有滑动加速.回弹.缩放.滚动条.滑动事件等功能,兼容CommonJS/AMD/CMD模块规范,开源,免费的轻量级html5滚动插件. JRoll第二版是 ...
- Framework7 下拉刷新
html结构 <div class="page"> <!-- Page content should have additional "pull-to- ...
- 基于iscroll.js实现下拉刷新和上拉加载特效
现在已经不是纯Android独霸天下的时代了,H5嵌入Android的Hybrid混合开发是大势所趋.今天给大家带来的就是移动端中常见的"上拉刷新,下拉加载"特效,这个特效将会基于 ...
- [Android] Android 支持下拉刷新、上拉加载更多 的 XRecyclerview
XRecyclerView一个实现了下拉刷新,滚动到底部加载更多以及添加header功能的的RecyclerView.使用方式和RecyclerView完全一致,不需要额外的layout,不需要写特殊 ...
- DCloud-MUI:下拉刷新、上拉加载
ylbtech-DCloud-MUI:下拉刷新.上拉加载 1. 下拉刷新返回顶部 0. http://dev.dcloud.net.cn/mui/pulldown/ 1. 概述 为实现下拉刷新功能,大 ...
- apicloud如何实现优雅的下拉刷新与加载更多
apicloud中提供下拉刷新监听事件api,也提供滚动到底部事件的监听,能够实现下拉刷新和滚动到底部加载更多功能,但是我们真的就满足实现功能了吗?将两个代码拼凑起来运行看看发现了什么?是的,在滚动到 ...
- Qt qml listview 列表视图控件(下拉刷新、上拉分页、滚动轴)
Qt qml listview下拉刷新和上拉分页主要根据contentY来判断.但要加上顶部下拉指示器.滚动条,并封装成可简单调用的组件,着实花了我不少精力:) [先看效果] [功能] 下拉刷新 ...
随机推荐
- redis不能保存bean对象
可用JSON转为json格式 // 2.3 将用户信息存储在redis中 String memberToJson = JSON.toJSON(member).toString(); 需要maven坐标 ...
- 【IntelliJ IDEA新手入门】IDEA如何快速搭建Java开发环境
作为IntelliJ IDEA mac新手,IDEA如何快速搭建Java开发环境呢? 今天小编就给大家带来了IntelliJ IDEA mac使用教程,想知道IDEA如何快速搭建Java开发环境?那就 ...
- 详解数据库引擎与SQL语句增删改查(非常详细,带例)
数据库系统(DBMS): 专门负责数据管理的工具.增加数据.创建索引.建立索引之间的关联关系.更新索引...... 连接器:PHP要访问MySQL,可以通过API访问,也可以通过PHP的驱动,而那个驱 ...
- DML(数据库操作语言)(六)
一.INSERT插入语句 语法: INTERT INTO 表名(列名1,列名2, ...) VALUES(列值1, 列值2, ...);# 在表名后给出要插入的列名,其他没有指定的列等同与插入null ...
- python 和 R 语言 中的 range() 函数
1.python 中的 range() 函数生成整数序列,常用于 for 循环的迭代. 示例: 2.R 语言中的 range() 函数返回一个数值向量中的最小值和最大中,常用于求极差. 示例: 按语: ...
- Peekaboo(2019年上海网络赛K题+圆上整点)
目录 题目链接 题意 思路 代码 题目链接 传送门 题意 你的位置在\(O(0,0)\),\(A\)的位置为\((x_1,y_1)\),\(B\)的位置为\((x_2,y_2)\),现在已知\(a=O ...
- Nginx反向代理服务器的安装与配置
Nginx反向代理服务器的安装与配置 时间:10月19日 Nginx反向代理有不少需要我们解决的问题,其中有不少问题是基于安装上的问题,在安装完成后的相关调试也让很多人头疼不已.下面就向大家介绍有关于 ...
- JS的ES7支持
1.指数运算符(幂): ** 2.Array.prototype.includes(value) : 判断数组中是否包含指定value console.log(2**4); let arr = [2, ...
- Office Tool Plus 安装Office
Office Tool Plus 是一款集office 卸载安装管理,激活等多功能于一体的神器. 官网:https://otp.landian.vip/en-us/ 下载 安装 值得注意的是Retai ...
- C语言博客作业04—数组
0.展示PTA总分(0----2) 展示3张关于"数组题目集"分数截图. 1.本章学习总结(2分) 1.1 学习内容总结 整理数组这章学习主要知识点,必须包含内容有: (1)数组查 ...