内容页面需统一按照如下 DOM 结构构建

<!--下拉刷新容器-->
<div id="refreshContainer" class="mui-content mui-scroll-wrapper">
  <div class="mui-scroll">
    <!--数据列表-->
    <ul class="mui-table-view mui-table-view-chevron">

    </ul>
  </div>
</div>

其次,通过 mui.init 方法中 pullRefresh 参数配置下拉刷新各项参数,如下:

    <script>
      mui.init({
          pullRefresh : {
            container:"#refreshContainer",//下拉刷新容器标识,querySelector能定位的css选择器均可,比如:id、.class等
            down : {
              height:50,//可选,默认50.触发下拉刷新拖动距离,
              auto: true,//可选,默认false.首次加载自动下拉刷新一次
              contentdown : "下拉可以刷新",//可选,在下拉可刷新状态时,下拉刷新控件上显示的标题内容
              contentover : "释放立即刷新",//可选,在释放可刷新状态时,下拉刷新控件上显示的标题内容
              contentrefresh : "正在刷新...",//可选,正在刷新状态时,下拉刷新控件上显示的标题内容
              callback :pulldownRefresh //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;
            },//下拉
            up: {
                contentrefresh: '正在加载...',
                contentnomore:'没有更多数据了',
                callback: pullupRefresh
                }
          }//上滑
     });
        function pulldownRefresh() {
                setTimeout(function() {
                    window.location.reload(); //刷新页面
                    mui('#pullrefresh').pullRefresh().endPulldownToRefresh(); //refresh completed
                }, 1500);
            }//这里只用到了下拉
    </script>

下拉刷新当数据较多时可能会出现双滚动条,解决办法如下

mui('.mui-scroll-wrapper').scroll({
    deceleration: 0.1, //flick 减速系数,系数越大,滚动速度越慢,滚动距离越小,默认值 0.0006 
    indicators: false  //隐藏一条滚动条 增大减速系数。。。
});
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐