新闻信息列表必备的功能,支持Table,Ul等列表.

以下是DIV版本,在安卓端或者ios端必须使用双webview模式,传送门:http://dev.dcloud.net.cn/mui/pulldown/

<!--下拉刷新容器-->
<div id="pullrefresh" class="mui-content mui-scroll-wrapper">

    <div class="mui-scroll">
        <!--数据列表-->
        <ul class="mui-table-view">

        </ul>
    </div>

</div>

<script type="text/javascript">
  mui.init
  ({
    pullRefresh:
    {
      container: '#pullrefresh',
      down: {
        callback: pulldownRefresh
      },
      up: {
        contentrefresh: '正在加载...',
        callback: pullupRefresh
      }
    }
  });

  /*
   * 下拉刷新具体业务实现
   */
  function pulldownRefresh()
  {
    setTimeout(function()
    {
      var table = document.body.querySelector('.mui-table-view');
      var cells = document.body.querySelectorAll('.mui-table-view-cell');
      //模拟数据
      for (var i = cells.length, len = i + 3; i < len; i++) {
        var li = document.createElement('li');
        li.className = 'mui-table-view-cell';
        li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>';
        //下拉刷新,新纪录插到最前面;
        table.insertBefore(li, table.firstChild);
      }

      mui('#pullrefresh').pullRefresh().endPulldownToRefresh(); //refresh completed
    }, 1500);
  }

  var count = 0;
  /*
   * 上拉加载具体业务实现
   */
  function pullupRefresh()
  {
    setTimeout(function() {
      mui('#pullrefresh').pullRefresh().endPullupToRefresh((++count > 2)); //参数为true代表没有更多数据了。
      var table = document.body.querySelector('.mui-table-view');
      var cells = document.body.querySelectorAll('.mui-table-view-cell');

      for (var i = cells.length, len = i + 20; i < len; i++) {
        var li = document.createElement('li');
        li.className = 'mui-table-view-cell';
        li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>';
        table.appendChild(li);
      }

    }, 1500);
  }

  if (mui.os.plus) {
    mui.plusReady(function() {
      setTimeout(function() {
        mui('#pullrefresh').pullRefresh().pullupLoading();
      }, 1000);

    });
  } else
  {
    mui.ready(function() {
      mui('#pullrefresh').pullRefresh().pullupLoading();
    });
  }
</script>

个人心得

1、手动加载loading,并且会立即调用[下拉刷新]绑定的函数

mui('#pullrefresh').pullRefresh().pullupLoading();  //使用这个之后,自动会加载[下拉刷新]绑定的函数

2、停止上拉刷新和下拉加载的loading

mui('#pullrefresh').pullRefresh().endPullupToRefresh(num >= cnt);  //参数可以为返回true/false的表达式

mui('#pullrefresh').pullRefresh().endPulldownToRefresh();

3、初始化

初始化时通常要将原数据列表清空,如:$("#mui-table-view").html("");

那么请务必将以下代码放置在清空代码之后.这和scroll的滚动性质有关

mui('#pullrefresh').pullRefresh().refresh(true);     //恢复滚动

mui('#pullrefresh').pullRefresh().scrollTo(0,0,100); //滚动置顶

4、Iscroll方面的扩展和内容

http://www.cnblogs.com/CyLee/p/5324622.html

5 Vue使用

<template>
    <div>
        <header class="mui-bar mui-bar-nav">
            <button @click="model" class=" mui-btn mui-btn-blue mui-btn-link mui-btn-nav mui-pull-left"><span class="mui-icon mui-icon-left-nav"></span>{{ modelName }}</button>
            <h1 class="mui-title">笑话大全</h1>
        </header>
        <div class="mui-content mui-scroll-wrapper" id="pullrefresh" >
          <div class="mui-scroll">
                <div class="mui-card" v-for="item in items">
                        <div class="mui-card-header mui-card-media" style="">
                        <div class="mui-card-content-inner">
                                <p style="color: #333;">{{ item.content }}</p>
                            </div>
                        </div>
                        <div class="mui-card-content" v-if="item.url">
                            <img :src=" item.url " width="100%" height="100%"  draggable="false"/>
                        </div>
                        <div class="mui-card-footer">
                            Posted on {{ item.updatetime }}
                        </div>
                </div>
            </div>
        </div>
    </div>
</template>

<script>
export default {
  data () {
    return {
         items:[],
         page :1,
         pagesize:5,
         count:0,
         modelName:"图文"
    };
  },
  methods : {
       getJoke () {
           let self = this;
           var model = self.modelName == "图文" ? "pic" : "";
           $.ajax({
                type:"get",
                url:`http://localhost:8090?${model}&page=${self.page}&pagesize=${self.pagesize}`,
                success (data) {
                    let json = JSON.parse(data).result.data;
                    self.items = self.items.concat(json);  // 合并并且返回一个新数组
                    self.page += 1;
                    self.count += 10;
                    mui('#pullrefresh').pullRefresh().endPullupToRefresh(self.count >= 1000);
                }
        })
       },
       model () {
           this.modelName = this.modelName == "图文" ? "文字" : "图文";
           this.items = [];
           this.getJoke();
       },
       pulldownRefresh () {
           setTimeout(() => {
               mui('#pullrefresh').pullRefresh().endPulldownToRefresh();
           },1500)
       },
       pullupRefresh () {
           this.getJoke();
       }
  },
  created () {
      let self = this;
    mui.ready(function(){
        mui.init
        ({
            pullRefresh:
            {
              container: '#pullrefresh',
              down: {
                callback: self.pulldownRefresh
              },
              up: {
                contentrefresh: '正在加载...',
                callback: self.pullupRefresh
              }
            }
        });    

        self.getJoke();
    })

  }
};
</script>

<style lang="css" scoped>
    .mui-card:nth-last-child(1){margin-bottom:70px;}
    .mui-card-header>img:first-child{width:100%;height: 100%;}
    .mui-pull-bottom-pocket{position:inherit}
</style>

MUI - 上拉刷新/下拉加载的更多相关文章

  1. jQuery模拟原生态App上拉刷新下拉加载

    jQuery模拟原生态App上拉刷新下拉加载效果代码,鼠标上拉时会显示loading字样,并且会模拟加载一条静态数据,支持触屏设备使用. <!doctype html> <html ...

  2. Android之 RecyclerView,CardView 详解和相对应的上拉刷新下拉加载

    随着 Google 推出了全新的设计语言 Material Design,还迎来了新的 Android 支持库 v7,其中就包含了 Material Design 设计语言中关于 Card 卡片概念的 ...

  3. Flutter学习笔记(25)--ListView实现上拉刷新下拉加载

    如需转载,请注明出处:Flutter学习笔记(25)--ListView实现上拉刷新下拉加载 前面我们有写过ListView的使用:Flutter学习笔记(12)--列表组件,当列表的数据非常多时,需 ...

  4. 微信小程序 上拉刷新/下拉加载

    小程序项目中上拉刷新下拉加载是比较常见的需求,官方文档也提供了相当友好的API,但是因为API隐藏的比较深,文档描述也比较模糊所以也折腾了一番(官方文档),在此记录一下使用方式 onPullDownR ...

  5. ListView上拉刷新和分页加载完整的Dome

    很多人工作的过程中都会碰到ListView下拉刷新和分页加载,然后大多数公司都已经把框架写好了,大家直接用就可以了,有些人一直对这个事情处于迷茫状态,为了让大家对上拉刷新和分页加载有一个比较全面的认识 ...

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

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

  7. 实现app上对csdn的文章列表上拉刷新下拉加载以及加入缓存文章列表的功能 (制作csdn app 四)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/23698511 今天继续对我们的csdn客户端未完成的功能进行实现,本篇博客接着客 ...

  8. XRecyclerView上拉刷新下拉加载

    效果图: 首先要添加依赖: //xrecyclerviewimplementation 'com.jcodecraeer:xrecyclerview:1.3.2'//Gsonimplementatio ...

  9. iOS:延迟加载和上拉刷新/下拉加载的实现

    lazy懒加载(延迟加载)UITableView 举个例子,当我们在用网易新闻App时,看着那么多的新闻,并不是所有的都是我们感兴趣的,有的时候我们只是很快的滑过,想要快速的略过不喜欢的内容,但是只要 ...

随机推荐

  1. Android开发之ViewPager+ActionBar+Fragment实现响应式可滑动Tab

     今天我们要实现的这个效果呢,在Android的应用中十分地常见,我们可以看到下面两张图,无论是系统内置的联系人应用,还是AnyView的阅读器应用,我们总能找到这样的影子,当我们滑动屏幕时,Tab可 ...

  2. SpringRMI解析2-RmiServiceExporter逻辑脉络

    配置文件是Spring的核心,在配置文件中我们可以看到,定义了两个bean,其中一个是对接口实现类的发布,而另一个则是对RMI服务的发布,使用org.springframework.remoting. ...

  3. 配置.net连接数据库的配置文件

    今天调试一个学生信息管理系统时,启动系统之后,登录时老是报错说实例有问题,拿着报错信息去找方法也没遇到能解决问题的,最后怀疑是数据库配置和配置文件不匹配, 发现自己的数据库里并没有SQLEXPRESS ...

  4. Windows下安装 使用coreseek

    1.安装 1.01:到官网下载 coreseek-3.2.14 1.01_1 原理 缓存服务器: 准备数据 来自数据库 配置连接  生成索引 开启服务 流程:用户-> web->sphin ...

  5. ural 1146. Maximum Sum

    1146. Maximum Sum Time limit: 0.5 secondMemory limit: 64 MB Given a 2-dimensional array of positive ...

  6. 【原】iOS学习39网络之数据请求

    1. HTTP和HTTPS协议 1> URL URL全称是Uniform Resource Locator(统一资源定位符)通过1个URL,能找到互联网上唯一的1个资源 URL就是资源的地址.位 ...

  7. Buy the Ticket{HDU1133}

    Buy the TicketTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...

  8. BZOJ4383 : [POI2015]Pustynia

    设$a$到$b$的边权为$c$的有向边的含义为$b\geq a+c$,则可以根据题意构造出一张有向图. 设$f[x]$为$x$点可行的最小值,$a[x]$为$x$位置已知的值,则$f[x]=\max( ...

  9. BZOJ3569 : DZY Loves Chinese II

    这回是真·强制在线了,首先这道题就是AHOI2013连通图的加强版,那道题k最大只有4 那道题的做法是: 取一个生成树,对每条非树边取一个随机权值, 对每条树边设为“覆盖它的所有非树边”的权值的xor ...

  10. Squid的简单使用

    1. squid配置 # Squid normally listens to port http_port hosts_file /etc/hosts cache_access_log /var/lo ...