minirefresh.js下拉无反应 无效果

有的朋友说为什么我的minirefresh.js下拉无反应呢?首先我们要搞清楚为什么minirefresh.js下拉有反应,minirefresh.js可以设置下拉多少给PX执行刷新,可以有下拉动画,所以下拉实际就是用户下拉了下面代码中ID等于mrefresh的DIV。简而言之下拉无反应有以下几种原因:

z-index设置问题


     你的div z-index的值高于minirefresh div的值,导致你下拉的并不是minirefresh 而是你自己的div,这种情况通常发送在,你弹了给背景层div,但是并没有删除这个div(透明度为0), 还有就是你的导航div固定在顶部也有可能。


    /*你要下拉的div minirefresh的DIV*/
   .list {
            width:80%;
            margin-top:10px;
            margin-left:auto;
            margin-right:auto;
            background-color:#f1f1f1;
            border: solid 1px #ddd;
            border-radius: 3px;
        }
    /*你的导航DIV z-index 高于.list的div,这时下拉是没有效果的*/   
       .naver{
     position: fixed;
    left: 0px;
    top: 0px;
    z-index: 999999999999;
    height: 200px;
    width: 100%;
      }
 <!-- *************** naver div z-index非常高挡住了所有其他元素 -->
 <div class="naver">
   导航
 </div>
<div id="mrefresh" class="minirefresh-wrap">
    <div class="minirefresh-scroll">
       
            <!-- 这里放你要被下拉的区域 -->
             <div class="list">
                 <ul>
                      <li>网站www.itxst.com</li>
                      <li>网站www.github.com</li>
                      <li>网站内容11111</li>
                      <li>网站内容11111</li>
                      <li>网站内容11111</li>
                      <li>网站内容11111</li>
                      <li>网站内容11111</li>
                      <li>网站内容11111</li>
                 </ul>
             </div>
          </div>
    </div>

在线试一试

没有正确初始化minirefresh

你要下拉的div元素还没在浏览器显示完成就去 var miniRefresh = new MiniRefresh();当然也是没有效果的。以下代码下拉无效。

   <script>
        var mRefresh = new MiniRefresh({
            container: '#mrefresh', //这里是插件的容器ID
            down: {
                callback: function () {
                    // 下拉后的回调事件 ,你可以在这里执行你的后台请求数据函数,达到刷新数据的作用
                    getData();
                    mRefresh.endDownLoading();
                }
                ,
                onCalcel: function () {
                    //下拉到一半,放弃刷新执行的事件
                    calcelMsg();
                }
            }
            ,
            up: {
                callback: function () {
                    // 向上拉后的回调事件
                    mRefresh.endUpLoading(true);
                }
            }
        });
        var pos = 0;
        function getData()
        {
            $(".list ul li").remove();
            
            for (var i = pos; i < pos+ 10; i++)
              {
                $(".list ul").append("<li>新数据" + i + "</li>");
 
            }
            pos = pos + 10;
        }

        function calcelMsg()
        {
            $(".list ul li").remove();
            $(".list ul").append("<li>你放弃了刷新</li>");
        }
    </script>
 <div class="naver">
   导航
   </div>
<div id="mrefresh" class="minirefresh-wrap">
    <div class="minirefresh-scroll">
       
            <!-- 这里放你要被下拉的区域 -->
             <div class="list">
                 <ul>
                      <li>网站www.itxst.com</li>
                      <li>网站www.github.com</li>
                      <li>网站内容11111</li>
                      <li>网站内容11111</li>
                      <li>网站内容11111</li>
                      <li>网站内容11111</li>
                      <li>网站内容11111</li>
                      <li>网站内容11111</li>
                 </ul>
             </div>
          </div>
    </div>

在线试一试