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

摘要:
--下拉刷新--˃下拉刷新释放刷新正在刷新正在加载三、js部分varpages=1;varsizes=4;varloading=false;//状态标记$//=========================下拉刷新$.pullToRefresh().on;//============================滚动加载$.infinite().on;//=======加载数据loadlist();functionloadlist(){varhtml="";$.ajax;}注意:如果布局没有做好,滚动条的位置放的不对,在浏览信息了数条之后想往回滑动的时候即使你没有下拉也会自动触发到下拉刷新,这是一个小坑,这个问题只要在#listwrap层设置滚动条,所以我在#listwrap层加了一些样式style=“height:100%;overflow:auto;”这样就解决好啦!!

最近在做手机版使用到了下拉刷新和滚动加载,记录一下实现过程:

一、引入文件

<link rel="stylesheet" href="http://t.zoukankan.com/Content/jqueryweui/weui.min.css">
<link rel="stylesheet" href="http://t.zoukankan.com/Content/jqueryweui/jquery-weui.min.css">
<script type="text/javascript" src="http://t.zoukankan.com/Content/jqueryweui/jquery.min.js" ></script>
<script type="text/javascript" src="http://t.zoukankan.com/Content/jqueryweui/jquery-weui.min.js"></script>

二、页面布局

<div   style="background-color: #FFFFFF;  100%;height:88%; margin-top:40px;margin-top: 45px;position: absolute; margin-bottom:45px;padding:0px; overflow: hidden;">
  <div     style="height:100%; margin-top: 1px;overflow:auto;  z-index: 1">
        <!--下拉刷新-->
        <div   style="padding: 5px;">
            <div class="weui-pull-to-refresh__arrow"></div>
            <div class="weui-pull-to-refresh__preloader"></div>
            <div class="down">下拉刷新</div>
            <div class="up">释放刷新</div>
            <div class="refresh">正在刷新</div>
        </div>
        <div   id="Tolist">
           <!--内容展示区域-->
        </div>
        <div   style="padding-bottom:30px;height:20px">
            <i class="weui-loading"></i>
            <span class="weui-loadmore__tips">正在加载</span>
        </div>
    </div>
</div>

三、js部分

   var pages = 1;
    var sizes = 4;
    var loading = false;  //状态标记
    $(function () {
        loadlist();
    })
  //=========================下拉刷新
    $("#listwrap").pullToRefresh().on("pull-to-refresh", function () {
        setTimeout(function () {
            pages = 1;
            $("#Tolist").html("");
            loadlist();
            if (loading) loading = false;
            $("#listwrap").pullToRefreshDone(); // 重置下拉刷新
        }, 1500);   //模拟延迟
    });
    //============================滚动加载
    $("#listwrap").infinite().on("infinite", function () {
        if (loading) return;
        loading = true;
        pages++; //页数
        $('.weui-loadmore').show();
        setTimeout(function () {
            loadlist();
            loading = false;
        }, 2500);   //模拟延迟
    });
 // =======加载数据loadlist();
   function loadlist() {
        var html = "";
        $.ajax({
            type: "POST",
            url: "/Index/Index",
            data: { 'page': pages, 'size': sizes },
            dataType: "json",
            error: function (request) {
                $(".weui-loadmore").hide();          
                html += "<div   >已无更多数据</div>";
                $("#Tolist").append(html);
            }, 
            success: function (data) {
                if (data.List.length > 0) {
                    for (var i = 0; i < data.List.length; i++) {
                        html += ' <div class="weui-form-preview__bd"> ';
                        html += ' <div class="weui-form-preview__item"> ';
                        html += ' <label class="weui-form-preview__label">' + data.List[i].Name + '</label> ';
                        html += ' </div> ';
                        html += ' </div> ';
                    }
                    $("#Tolist").append(html);
                }
                else {
                    html += "<div   >已无更多数据</div>";
                    $("#Tolist").append(html);
                    loading = true;
                }
                $(".weui-loadmore").hide();
            }
        });
    }

注意:如果布局没有做好,滚动条的位置放的不对,在浏览信息了数条之后想往回滑动的时候即使你没有下拉也会自动触发到下拉刷新,这是一个小坑,这个问题只要在#listwrap层设置滚动条 ,所以我在#listwrap层加了一些样式style=“height:100%; overflow:auto;”

这样就解决好啦!!

免责声明:文章转载自《jQuery WeUI 组件下拉刷新和滚动加载的实现》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用Debian的kernelpackage系统创建自己的内核Intel 8086 常用汇编指令表下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

jquery实现提示框的效果

先看下效果图 这三个效果是同一个js写出来的,由此可见只要掌握了 我们可以写出格式各样的提示信息,因为css的灵活性,可以让一个熟练掌握css的人将页面玩弄于鼓掌之间,只要开动你的大脑,发挥你的想象力。 效果已定,我们可以梳理一下思路,以往的提示框,其实最简单的我们只要用css就可以写出来,利用a:hover就可以写出来,但是css写出来的效果有一个...

jQuery 分步引导 插件

转自:http://blog.libnav.com/js/57.html 很多时候一个网站或者一个Web应用出品,为了让你的用户知道你的站点(或应用)有些什么?如何操作?为了让你的用户有更好的体验。往往这个时候都 会给你的站点(应用)添加一个分步指引的效果。然而这样的效果,对于不懂原生js的同学来说,是件蛮头痛的事情。不过大家不要慌,根据 Webreso...

第二百二十七节,jQuery EasyUI,ComboTree(树型下拉框)组件

jQuery EasyUI,ComboTree(树型下拉框)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解EasyUI中ComboTree(树型下拉框)组件的使用方法,这个组件依赖于Combo(下拉框) 和 Tree(树)组件。 一.加载方式 class 加载方式 <select id="cc"class="easy...

JQuery EasyUI datagrid 批量编辑和提交

前台主要代码: <script type="text/javascript"> $(function() { var $dg = $("#dg"); $dg.datagrid({ url : "servlet/list", width : 700,...

Downloading jQuery 3.2.1

Downloading jQuery Compressed and uncompressed copies of jQuery files are available. The uncompressed file is best used during development or debugging; the compressed file saves...

jquery倒计时插件可自定义多个倒计时间

jquery倒计时插件设置多个自定义倒计时时间,任意设置天、小时、分钟、秒倒计时间功能。 查看演示>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.d...