mui 框架中结合mui.ajax实现 下拉刷新和上拉加载功能

实现方式与之前写的jquery weui 下拉刷新和上拉加载功能有点相似,以下是实现过程!

后台返回的数据格式:

页面代码布局:

<header id="header" class="mui-bar mui-bar-nav">
    <h1 class="mui-title">订单列表</h1>
    <a class="mui-icon  mui-pull-right iconfont icon-tuichu" title="退出" style="color:#fff;" id="Sign_out"></a>
</header>
<!--下拉刷新容器-->
<div id="pullrefresh" class="mui-content mui-scroll-wrapper pd-btm-50">
    <div class="mui-scroll">
        <!--数据列表-->
        <ul id="showdata" class="mui-table-view mui-table-view-chevron"></ul>
    </div>
</div>

js部分代码:

<script>
    mui.init({
        pullRefresh: {
            container: ‘#pullrefresh‘,
            down: {
                callback: pulldownRefresh
            },
            up: {
                contentrefresh: ‘正在加载...‘,
                callback: pullupRefresh
            }
        }
    });

    /**
     * 加载数据
     */
    var page =1;
    var limit = 8;
    var isOver = false;//状态标识 是否加载完数据
    function getData() {
        var html = "";
        mui.ajax(‘/order/listquery‘, {
            data: {
                ‘page‘: page,
                ‘limit‘: limit,
                ‘OrderState‘:83
            },
            dataType: ‘json‘,
            type: ‘post‘,
            async: false,
            crossDomain: false,
            success: function (jsondata) {
                console.log(jsondata);
                if (jsondata.code == 200) {
                    var data = jsondata.data.list;
                    for (var i = 0; i < data.length; i++) {
                            html += ‘<li class="mui-card mg-btm-20 mui-card-order">‘;
                            html += ‘<ul class="mui-table-view">‘;
                            html += ‘<li class="mui-table-view-cell" style="color: #06abf6;">订单编号:‘ + data[i].orderNumber
                            html += ‘<button type="button" class="mui-btn mui-btn-success" style="right:0px; top:12px;">‘ + data[i].orderTypeName + ‘</button>‘;
                            html += ‘</li>‘;
                            html += ‘<li class="mui-table-view-cell">‘;
                            html += ‘<span class="mui-icon iconfont icon-hezi401"></span>  货物名称:‘ + data[i].GoodsName + ‘<label style="float:right; color: #f42d07;">状态:‘ + data[i].OrderStateName + ‘</label>‘;
                            html += ‘</li>‘;
                            html += ‘<li class="mui-table-view-cell">‘;
                            html += ‘<span class="mui-icon mui-icon-paperplane" style="font-size: 20px;"></span>起运地:‘ + data[i].OriginatingCity
                            html += ‘<span class="mui-icon mui-icon-arrowthinright"></span>‘;
                            html += ‘<span class="mui-icon mui-icon-flag"></span>目的地:‘ + data[i].GoalCity
                            html += ‘</li>‘;
                            html += ‘ <li class="mui-table-view-cell">‘;
                            html += ‘<span class="mui-icon mui-icon-compose"></span>  重量:‘ + data[i].Weight + ‘体积:‘ + data[i].Volume
                            html += ‘</li>‘;
                            html += ‘<li class="mui-table-view-cell">‘;
                            html += ‘<span class="mui-icon iconfont icon-riqi"></span>开单日期:‘ + data[i].createDate
                            html += ‘</li>‘;
                            html += ‘<li class="mui-table-view-cell" style="height: 40px;">‘;
                            html += ‘<button type="button" id="detailBtn" value="‘ + data[i].ID + ‘" class="mui-btn mui-btn-primary">查看订单详情</button>‘;
                            html += ‘</li>‘;
                            html += ‘</ul>‘;
                            html += ‘</li>‘;
                    }
                    $(‘#showdata‘).append(html)
                    //判断当前页码是否与总页码一致,如果一致则标识为true
                    if (Math.floor(jsondata.data.total / jsondata.data.limit) == page) {
                         isOver = true;
                    } else {
                        isOver = false;   //每次加载结束之后,如果下拉滚动还有数据则++
                        page++;
                    }
                }
            },
        });
    }
    /**
     * 下拉刷新具体业务实现
     */
    function pulldownRefresh() {
        setTimeout(function () {
            if (isOver) {
                isOver = false;
            }
            mui(‘#pullrefresh‘).pullRefresh().endPulldownToRefresh(); //下拉刷新结束
            $(‘#showdata‘).html("");
            page = 1;
            getData();
            mui(‘#pullrefresh‘).pullRefresh().refresh(true);  //重置加载
        }, 1500);

    }
    /**
     * 上拉加载具体业务实现
     */
    function pullupRefresh() {
        setTimeout(function () {
            mui(‘#pullrefresh‘).pullRefresh().endPullupToRefresh(isOver); //isOver参数为true代表没有更多数据了。
            if (isOver == false) {  //isOver参数为false则继续加载数据
                getData();
            }
        }, 1500);
    }
    if (mui.os.plus) {
        mui.plusReady(function () {
            setTimeout(function () {
                mui(‘#pullrefresh‘).pullRefresh().pullupLoading();
            }, 1000);
        });
    } else {
        mui.ready(function () {
            mui(‘#pullrefresh‘).pullRefresh().pullupLoading();
        });
    }
</script>

  

  

原文地址:https://www.cnblogs.com/lemonmoney/p/11208031.html

时间: 2024-08-29 13:03:23

mui 框架中结合mui.ajax实现 下拉刷新和上拉加载功能的相关文章

支持下拉刷新和上划加载更多的自定义RecyclerView(仿XListView效果)

首先看效果 下拉刷新:        上划加载        在项目更新的过程中,遇到了一个将XListView换成recyclerView的需求,而且更换完之后大体效果不能变,但是对于下拉刷新这样的效果,谷歌给出的解决方案是把RecyclerView放在一个SwipeRefreshLayout中,但是这样其实是拉下一个小圆形控件实现的,和XListView的header效果不同.在网上找了很多的别人代码,都没有实现我想要的效果,于是自己动手写了一个. 具体实现的效果有以下几条 下拉刷新功能:

最新Android ListView 下拉刷新 上滑加载

开发项目过程中基本都会用到listView的下拉刷新和上滑加载更多,之前大家最常用的应该是pull to refresh或它的变种版吧,google官方在最新的android.support.v4包中增加了一个新类SwipeRefreshLayout,地址 这个类的作用就是提供官方的下拉刷新,并且效果相当不错,而上拉加载更多则用我们自定义的listview,也是相当简单. 下拉刷新 简单的介绍下: 首先它是一个viewgroup,但是它只允许有一个子控件,子控件能是任何view,使用的时候,所在

RecyclerView 下拉刷新和上拉加载

RecyclerView 下拉刷新和上拉加载 RecyclerView已经出来很久了,许许多多的项目都开始从ListView转战RecyclerView,那么,上拉加载和下拉刷新是一件很有必要的事情. 在ListView上,我们可以通过自己添加addHeadView和addFootView去添加头布局和底部局实现自定义的上拉和下拉,或者使用一些第三方库来简单的集成,例如android-pulltorefresh或者android-Ultra-Pull-to-Refresh,后者的自定义更强,但需

使用PullToRefresh实现下拉刷新和上拉加载

使用PullToRefresh实现下拉刷新和上拉加载 分类: Android2013-12-20 15:51 78158人阅读 评论(91) 收藏 举报 Android下拉刷新上拉加载PullToRefresh PullToRefresh是一套实现非常好的下拉刷新库,它支持: 1.ListView 2.ExpandableListView 3.GridView 4.WebView 等多种常用的需要刷新的View类型,而且使用起来也十分方便. (下载地址:https://github.com/ch

IOS 开发下拉刷新和上拉加载更多

IOS 开发下拉刷新和上拉加载更多 简介 1.常用的下拉刷新的实现方式 (1)UIRefreshControl (2)EGOTTableViewrefresh (3)AH3DPullRefresh (4)MJRefresh (5)自己实现 2.AH3DPullRefresh实现下拉刷新和上拉下载的步骤 添加UIScrollView+AH3DPullRefresh.h 和UIScrollView+AH3DPullRefresh.m两个文件,由此可知,它是基于UIScrollView的方法. 在bu

iOS学习之路--下拉刷新和上拉加载更多

iOS学习之路--下拉刷新和上拉加载更多 简介 本文中笔者将和大家分享应用app中常用到的表单内容的下拉刷新和上拉加载更多的功能实现的方法. 内容 1.有哪些实现方法与各方法的优劣 使用过美团,大众点评的朋友们应该有注意到,当你向上滑动表单的时候会有更多的店铺加载进你的表单中,而当你下滑表单顶的时候,则会刷新表单的内容并从网络上获取最新的信息.通过下拉刷新和上拉加载更多的功能,使app可以获取更多用户想要的信息和获取最新的信息.那么这种功能如何实现呢,还请跟着笔者继续往下看. 目前来说,主要的实

Android实现RecyclerView的下拉刷新和上拉载入很多其它

需求 先上效果图, Material Design风格的下拉刷新和上拉载入很多其它. 源代码地址(欢迎star) https://github.com/studychen/SeeNewsV2 假设对于RecyclerView还不熟悉,參见这篇 Android Material Design学习之RecyclerView取代 ListView 本文链接 http://blog.csdn.net/never_cxb/article/details/50759109 转载请注明出处 下拉刷新 效果图

Android 使用PullToRefresh实现下拉刷新和上拉加载(ExpandableListView)

PullToRefresh是一套实现非常好的下拉刷新库,它支持: 1.ListView 2.ExpandableListView 3.GridView 4.WebView 等多种常用的需要刷新的View类型,而且使用起来也十分方便. (下载地址:https://github.com/chrisbanes/Android-PullToRefresh) 下载完成,将它导入到eclipse中,作为一个library导入到你的工程中就好了. 一.废话少说,下拉刷新Go. 1.在你的布局文件中加上你想用的

【好程序员笔记分享】——下拉刷新和上拉加载更多

-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ iOS学习之路--下拉刷新和上拉加载更多 简介 本文中笔者将和大家分享应用app中常用到的表单内容的下拉刷新和上拉加载更多的功能实现的方法. 内容 1.有哪些实现方法与各方法的优劣 使用过美团,大众点评的朋友们应该有注意到,当你向上滑动表单的时候会有更多的店铺加载进你的表单中,而当你下滑表单顶的时候,则会刷新表单的内容 并从网络上获取最新的信息.通过下拉刷新和上拉加载更多的功能,使app可以获取更多用户想要