下拉刷新:

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 下拉刷新、无限滚动的更多相关文章

  1. jQuery WeUI 组件下拉刷新和滚动加载的实现

    最近在做手机版使用到了下拉刷新和滚动加载,记录一下实现过程: 一.引入文件 ? 1 2 3 4 <link rel="stylesheet" href="Conte ...

  2. XRecyclerView:实现下拉刷新、滚动到底部加载更多以及添加header功能的RecyclerView

    介绍: 一个实现了下拉刷新,滚动到底部加载更多以及添加header功能的的RecyclerView.使用方式和RecyclerView完全一致,不需要额外的layout,不需要写特殊的adater. ...

  3. JRoll 2 使用文档(史上最强大的下拉刷新,滚动,无限加载插件)

    概述 说明 JRoll,一款能滚起上万条数据,具有滑动加速.回弹.缩放.滚动条.滑动事件等功能,兼容CommonJS/AMD/CMD模块规范,开源,免费的轻量级html5滚动插件. JRoll第二版是 ...

  4. Framework7 下拉刷新

    html结构 <div class="page"> <!-- Page content should have additional "pull-to- ...

  5. 基于iscroll.js实现下拉刷新和上拉加载特效

    现在已经不是纯Android独霸天下的时代了,H5嵌入Android的Hybrid混合开发是大势所趋.今天给大家带来的就是移动端中常见的"上拉刷新,下拉加载"特效,这个特效将会基于 ...

  6. [Android] Android 支持下拉刷新、上拉加载更多 的 XRecyclerview

    XRecyclerView一个实现了下拉刷新,滚动到底部加载更多以及添加header功能的的RecyclerView.使用方式和RecyclerView完全一致,不需要额外的layout,不需要写特殊 ...

  7. DCloud-MUI:下拉刷新、上拉加载

    ylbtech-DCloud-MUI:下拉刷新.上拉加载 1. 下拉刷新返回顶部 0. http://dev.dcloud.net.cn/mui/pulldown/ 1. 概述 为实现下拉刷新功能,大 ...

  8. apicloud如何实现优雅的下拉刷新与加载更多

    apicloud中提供下拉刷新监听事件api,也提供滚动到底部事件的监听,能够实现下拉刷新和滚动到底部加载更多功能,但是我们真的就满足实现功能了吗?将两个代码拼凑起来运行看看发现了什么?是的,在滚动到 ...

  9. Qt qml listview 列表视图控件(下拉刷新、上拉分页、滚动轴)

    Qt qml listview下拉刷新和上拉分页主要根据contentY来判断.但要加上顶部下拉指示器.滚动条,并封装成可简单调用的组件,着实花了我不少精力:) [先看效果]    [功能] 下拉刷新 ...

随机推荐

  1. pandas 之 groupby 聚合函数

    import numpy as np import pandas as pd 聚合函数 Aggregations refer to any data transformation that produ ...

  2. django 统计表

    1. 复杂版 统计,通过跨表查询和timedate模块过滤找到 from django.db.models import Count class TongJiView(View): def today ...

  3. 谷歌学术出现We're sorry解决办法

    出现这个的原因应该是同ip段的或者就是这个ip曾经是个google的黑名单ip,因为恶意爬取谷歌学术了.解决办法就是申请Hurricane Electric Free IPv6 Tunnel Brok ...

  4. 文件转换神器pandoc

    pandoc  :可以在各种文件之间进行相互转化.比如从md文件转为pdf,docx转为tex文件,html文件和txt文件相互转化,等等. 在终端启用命令行执行命令. 我最近要完成的任务是把有很多个 ...

  5. 预计阅读时间核心jS代码

    <script type="text/javascript"> jq(document).ready(function() { var read_time=jq(&qu ...

  6. Codeforces Round #609 (Div. 2) A到C题

    签到,乘以两个相邻的合数 #include<bits/stdc++.h> using namespace std; int main(int argc, char const *argv[ ...

  7. Hbase与hive集成与对比

    HBase与Hive的对比 1.Hive (1) 数据仓库 Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询. (2) 用于数据分析.清洗 ...

  8. Mybatis「MySQL-Oracle」 中主键自动生成 <selectKey> 序列化

    有时候我们不仅仅是通过返回 int 影响行数来确定数据是否插入成功就行了,因为我们总是会用到这个刚刚插入的自增主键,比如主子表入库,子表需要主表的 id,那这个时候我们再去数据库查就显得有点 low ...

  9. 我是sb

    哪能倒在这? 细节很多的题怎么写????sb 考完再也不学了,太jb痛苦了. 总因为一些奇奇怪怪的原因导致我

  10. centos7 计划任务简介

    概述 就像再windows上有计划任务一样,centos7 自然也有计划任务,而且设置更为灵活,好用.再centos7 上可以利用crontab 来执行计划任务, 依赖与 crond 的系统服务,这个 ...