博客 / 詳情

返回

mui 多個tab頁實現下拉刷新上拉加載

下拉刷新組件的dom結構

   <div id="refreshContainer" class="mui-scroll-wrapper">
     <div id="refreshBox">
       <div class="active" id="tab1"></div>
       <div id="tab2"></div>
       <div id="tab3"></div>
     </div>
   </div>

css 被mui坑的- -。。。

/*因為下拉圖標位置設置無效  則使用下拉刷新組件樣式*/
.mui-pull-top-pocket{
  top: 5rem !important;
}
/*把列表展示在你想要的位置 */
#refreshContainer{
 height:100vh;
 padding-top: 2.2rem;
 padding-bottom: 3rem;
}

js邏輯

//多tab頁切換時
function onTabChange(){
  $('#refreshBox').css('transform','translate3d(0px, 0px, 0px) translateZ(0px)')//切換時默認滾動到頂部,否則會出現多個tab同時滾動導致其他列表出現問題
 mui('#refreshContainer').pullRefresh().refresh(true);//重置上拉加載組件
}

//多個tab共用一個下拉刷新組件
  mui.init({
    pullRefresh: {
      container: "#refreshContainer", //下拉刷新容器標識,querySelector能定位的css選擇器均可,比如:id、.class等
      down: {
        callback: function () {
     //列表刷新完成後,需要及時關閉對應的動畫,否則會出現無效的問題
      mui("#refreshContainer").pullRefresh().endPulldownToRefresh();//結束動畫
  },
      },
      up: {
        callback:   function () {
  ...
      mui("#refreshContainer").pullRefresh().endPullupToRefresh(false);//上拉加載時false表示還有數據
  },
      },
    },
  });
user avatar ziyeliufeng 頭像 zhangxishuo 頭像 benpaodekaixinguo 頭像 zack-grossbart 頭像 mapvthree 頭像 yangkaiqiang 頭像 xuriliang 頭像 amsterdam_5caf807441f49 頭像 alogy 頭像 zpfei 頭像 yookoo 頭像
11 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.