Mui Webview下来刷新上拉加载实现
有些事情经历过之后才会发现,原来再次之前我是如此的啥,因为是第一次做,毫无头绪,有时会想假如有个一demo就好了,那么就不会花费这么多的无用功了。今天使用mui 的webview实现了一个H5页面的上拉加载下拉刷新的效果,拿出来和大家一起分享一下,希望各位博友有用,当然啦有的时候坑会很多,但是只要我们学会用思考的方式去找问题,不管是什么问题我们都是可以解决的。小弟的文采不好,有错误请指出来,一定虚心接受
//首先在此之前我们先要引用jquery的插件,以及mui.js插件
<!--html代码-->
<!--需要加载的容器-->
<div class="shop-list font-16 col-1 mui-scroll-wrapper mui-content" id="refreshContainer">
<!--mui-scroll是否允许滑动-->
<div class="mui-scroll">
<!--重点mui-table-view mui-table-view-chevron这里是页面加载那些的文字样式-->
<ul class="mui-table-view mui-table-view-chevron" id="list">
</ul>
</div>
</div>
<!--MUIWEBvIEW分页-->
<script type="text/javascript">
$(function () {
//需要显示的条数
var size = ;
//页码
var page = ;
//下拉刷新监听事件(这里可以直接去mui文档中复制)
mui.init({
pullRefresh: {
container: '#refreshContainer',
//下拉刷新
down: {
height: ,//可选,默认50.触发下拉刷新拖动距离,
auto:false,//可选,默认false.自动上拉加载一次
callback: function () {//必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;
//5毫秒显示
window.setTimeout(function () {
//向下刷新重新赋值
page = ;
size = ;
//调用获取数据的方法
DtGetData(size, page);
//结束向下加载数据的提示的重点
mui('#refreshContainer').pullRefresh().endPulldownToRefresh();
//最近发现的bug当每次重新向下刷新一次的时候总是会默认执行一次向下加载因此
//结束上拉加载endpulluptorefresh有更多数据传入false无则为true
//mui('#refreshContainer').pullRefresh().endPullupToRefresh(true);
}, );
}
}, //END 下拉刷新
up: {
height: ,//可选,默认50.触发下拉刷新拖动距离,
auto:true,
contentrefresh: "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore: '没有更多数据了',//可选,请求完毕若没有更多数据时显示的提醒内容;
callback: function () {//必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;
window.setTimeout(function () {
//调用加载更多数据的方法 DtGetData(size, page);
}, ); //END 上拉加载
}
}
}
});
//获取对应的数据
function DtGetData(a, b) {
//mui展示数据的方法
mui.ajax("api接口", {
data: { 'size': a, 'page': b },
dataType: 'json',
type: 'post',
headers: { 'Content-Type': 'application/json' },
success: function (data) {
$("#list").html("");
//是否结束向上加载数据是传入false否传入true
mui('#refreshContainer').pullRefresh().endPullupToRefresh(true);
//获取json格式的数据
var returnData = data.List;
//html dom属性
var element = document.getElementById("list");
//html标签遍历
for (var i = ; i < returnData.length; i++) {
$("#list").append("这里是绑定你在后台调取出来的数据");
}
//分页
var PageSize;
//获取总页数
if ((data.Total % size) > ) {
PageSize = (data.Total / size) + ;
}
else {
//能整除
PageSize = (data.Total / size);
}
if (PageSize < page) {
//当前显示数量大于总数时,停止上拉下拉结束转雪花进度条的“正在加载...”过程//停止下拉刷新(禁用上拉加载)
mui('#refreshContainer').pullRefresh().disablePullupToRefresh();
//可以继续向上加载数据
mui('#refreshContainer').pullRefresh().endPullupToRefresh(false);
mui.toast("没有更多的数据")
}
else {
page++;
if (PageSize <page) {
mui('#refreshContainer').pullRefresh().endPullupToRefresh(true);
mui('#refreshContainer').pullRefresh().disablePullupToRefresh();
mui.toast("暂无更多数据");
}
else {
//有重新触发上拉加载的需求
mui('#refreshContainer').pullRefresh().refresh(true);
}}},
error: function (xhr, type, errorThrown) {
//异常处理;
console.log(type);
}
})}
//在方法为进行事件监听,在方法里面会叠加多次执行
//监听tap时间解决页面href超链接不跳转的问题
mui('body').on('tap', 'a', function ()
{
document.location.href = this.href;
});
//解决mui屏蔽点击事件的bug,通过添加对应控件的点击事件
mui("#refreshContainer").on('tap', '.kedianji', function (event)
{
this.click();
});
})
</script>
效果图:


Mui Webview下来刷新上拉加载实现的更多相关文章
- mui下拉刷新上拉加载
新外卖商家端主页订单大厅页面 使用mui双webview,实现下拉刷新上拉加载 主页面: order_index.html <!doctype html> <html> < ...
- 带你实现开发者头条APP(五)--RecyclerView下拉刷新上拉加载
title: 带你实现开发者头条APP(五)--RecyclerView下拉刷新上拉加载 tags: -RecyclerView,下拉刷新,上拉加载更多 grammar_cjkRuby: true - ...
- ListView实现Item上下拖动交换位置 并且实现下拉刷新 上拉加载更多
ListView实现Item上下拖动交换位置 并且实现下拉刷新 上拉加载更多 package com.example.ListViewDragItem; import android.app.Ac ...
- [ionic开源项目教程] - 第7讲 实现下拉刷新上拉加载ion-refresher和ion-infinite-scroll
第7讲 实现下拉刷新上拉加载ion-refresher和ion-infinite-scroll 1.将tab1.html的代码改为如下: <ion-content> <ion-ref ...
- JS+CSS实现的下拉刷新/上拉加载插件
闲来无事,写了一个当下比较常见的下拉刷新/上拉加载的jquery插件,代码记录在这里,有兴趣将代码写成插件与npm包可以留言. 体验地址:http://owenliang.github.io/pull ...
- 基于SwiperJs的H5/移动端下拉刷新上拉加载更多的效果
最早时,公司的H5项目中曾用过点击一个"加载更多"的DOM元素来实现分页的功能,后来又用过网上有人写的一个上拉加载更多的插件,那个插件是页面将要滚动到底部时就自动请求数据并插入到页 ...
- ListView下拉刷新上拉加载更多实现
这篇文章将带大家了解listview下拉刷新和上拉加载更多的实现过程,先看效果(注:图片中listview中的阴影可以加上属性android:fadingEdge="none"去掉 ...
- RecyclerView下拉刷新上拉加载(三)—对Adapter的封装
RecyclerView下拉刷新上拉加载(一) http://blog.csdn.net/baiyuliang2013/article/details/51506036 RecyclerView下拉刷 ...
- RecyclerView下拉刷新上拉加载(二)
listview下拉刷新上拉加载扩展(一) http://blog.csdn.net/baiyuliang2013/article/details/50252561 listview下拉刷新上拉加载扩 ...
随机推荐
- .net开发微信(1)——微信订阅号的配置
到微信公众平台按提示一直走下去后,可能遇到的难点就是填写Url和Token了. 开发文档里说,url是自己的服务器地址,Token随便写.但是一直提示Token验证失败. 解决办法:需要在服务器里新增 ...
- Apriori算法思想和其python实现
第十一章 使用Apriori算法进行关联分析 一.导语 "啤酒和尿布"问题属于经典的关联分析.在零售业,医药业等我们经常需要是要关联分析.我们之所以要使用关联分析,其目的是为了从大 ...
- Navicat永久激活步骤,激活工具,解决注册码无效的问题
Navicat for MySQL是一套管理和开发MySQL或MariaDB的理想解决方案,支持单一程序,可同时连接到MySQL和MariaDB.这个功能齐备的前端软件为数据库管理.开发和维护提供了直 ...
- 如何用plugman编辑和添加cordova插件
1.安装工具 进入nodejs, 安装工具plugman,管理插件,输入命令npm install -g plugman 等待下载安装 2.使用plugman命令生成插件框架 cmd 进入用于生成插件 ...
- 适合Python的5大练手项目, 你练了么?
在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? 首先有两点建议: 最好不要写太应用的程序练手,要思考什么更像是知识,老只会写写爬虫是无用的,但是完全不写也不行. 对于练手的程序,要注意简化 ...
- oracle的事务级别
ooracle的事务级别是不提交的,如果在sql语句中插入数据,如果不提交(commit).在程序里面试读不出来数据的.长时间不用oracle竟然忘了这些东西,特此记下.方便以后查看
- 实现对ASP.NETMvc及Asp.NetCore的权限控制
AccessControlHelper Build Status Intro 由于项目需要,需要在 基于 Asp.net mvc 的 Web 项目框架中做权限的控制,于是才有了这个权限控制组件. 项目 ...
- java 保留字段volatile、transient、native、synchronized
1.volatile Java语言提供了一种稍弱的同步机制,即volatile变量,用来确保将变量的更新操作通知到其他线程.当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享 ...
- POI处理Excel中各种日期格式问题
前不久写过一篇随笔<EXCEL解析之终极方法WorkbookFactory>,提到使用WorkbookFactory来处理Excel文件数据,最近发现一个问题就是这个办法不能很好的处理各种 ...
- mybatis的sqlmapper详解
http://blog.csdn.net/u012302681/article/details/46326877