在寫上篇隨筆的時候,突然想起來以前總結過的東西,拿出來分享下 遇到問題: 1.上拉載入後,出現沒有更多數據。這時候返回頂部: mui('#refreshContainer').pullRefresh().scrollTo(0, 0, 100); 返回後,頁面會消失,其實是頁面又回到返回之前的(x,y ...
在寫上篇隨筆的時候,突然想起來以前總結過的東西,拿出來分享下
遇到問題: 1.上拉載入後,出現沒有更多數據。這時候返回頂部: mui('#refreshContainer').pullRefresh().scrollTo(0, 0, 100); 返回後,頁面會消失,其實是頁面又回到返回之前的(x,y) 解決辦法:mui('#refreshContainer').pullRefresh().scrollTo(1, 1, 100); 2.上拉載入後,出現沒有更多數據,這時候下拉刷新: mui('#refreshContainer').pullRefresh().refresh(true);//重新激活 mui('#refreshContainer').pullRefresh().endPullupToRefresh(noneBol);//關閉刷新 刷新不會結束,也無法繼續刷新 解決辦法: mui('#refreshContainer').pullRefresh().endPulldownToRefresh(); mui('#refreshContainer').pullRefresh().refresh(true); 3.官方文檔下拉刷新結束: mui('#refreshContainer').pullRefresh().endPulldown(); 報錯mui(...).pullRefresh().endPulldown()不是function; 解決辦法:mui('#refreshContainer').pullRefresh().endPulldownToRefresh(); 版本更新了,老的mui.min.js不支持新的官方文檔的方法 4.上拉下拉刷新都是和刷新容器一起做的 <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> 因為我的項目主要是ios,這個同時相容ios和android 坑1: 如果是超出屏幕需要移動的頁面,嵌套在裡面的話,發現頁面不能移動: (1).修改 <div class="mui-scroll”>的over-flow:scroll;坑來了,chrome的手機模式下正常了,到ios手機,頁面飛了 (2).打開mui.init({ pullRefresh: { container: '#refreshContainer' } }) 這樣就可以了,應該是因為下拉刷新容器的問題 5.mui('#refreshContainer').pullRefresh().scrollTo(1, 1, 100)後,滑動頁面時會出現兩根滾動條,且其中一條達到底部時,頁面直接到底; (1)自己的解決辦法: mui('.mui-scroll-wrapper').scroll({ deceleration: 0.1, //flick 減速繫數,繫數越大,滾動速度越慢,滾動距離越小,預設值 0.0006 indicators: false //隱藏一條滾動條 增大減速繫數。。。 }); (2)好的解決辦法: 因為這個scrollto是每次移動的距離,是相對於當前的距離來移動的,而不是移動到絕對的距離。 let index = $(e.event.target).index(); let id = $(e.event.target).attr("href"); let top = $(id).offset().top - 200; let current_top = mui('#segmentedControlContents .mui-scroll-wrapper').scroll().y; top = current_top - top; mui('#segmentedControlContents .mui-scroll-wrapper').scroll().scrollTo(0,top,300); 此解決辦法原址http://www.jb51.net/article/111090.htm