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来判断.但要加上顶部下拉指示器.滚动条,并封装成可简单调用的组件,着实花了我不少精力:) [先看效果] [功能] 下拉刷新 ...
随机推荐
- 使用fio命令查看磁盘iops
具体命令: fio -filename=./localhost.2019-05-08.log -direct=1 -iodepth 1 -thread -rw=randrw -ioengine=psy ...
- 【若泽大数据】玩转大数据之Spark零基础到实战
https://www.bilibili.com/video/av29407581?p=1 若泽大数据官网 http://www.ruozedata.com/ tidb 系列三:有了sparkjdbc ...
- Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öйú±ê׼ʱ¼ä'
java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more ...
- 19-C#笔记-多态性
# 静态多态性 --- ## 1 函数重载 和C++一样. --- ## 2 运算符重载 public static operator public static Box operator+ (Box ...
- Ubuntu18.04安装redis-server启动出错
虽然报错原因可能是 redis-server.service: Can't open PID file /var/run/redis/re Aug 26 15:43:25 iZ2ze6ddwhet60 ...
- Java XML文档
概念 XML(EXtensible Markup Language),可扩展标记语言.可扩展就是<>内的东西可以自己定义,可以随便写.标记语言就是加了<>符号的 .HTML是超 ...
- hdu1005-Number Sequence-(循环节)
题意:已知f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7,给出A,B,n,求f(n) 题解:n巨大,循环肯定超时,在模7的 ...
- 解决.Net Core 3.0 不支持 Autofac 问题
Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Threading ...
- 【jupyter】文件解压
Jupyter使用便捷,但是不能上传文件夹.可以将文件夹压缩,上传后再利用python或者terminal进行解压. windows 可以用python的zipfile包来解压.比如: import ...
- luogu_2480: 古代猪文
洛谷:2480古代猪文 题意描述: 给定两个整数\(N,G\),求$G^{\sum_{k|n}C_n^k} mod 999911659 $. 数据范围: \(1\leq N\leq 10^9,1\le ...