最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iscroll.js的上拉下拉刷新時(shí)無法回彈的解決方法

 更新時(shí)間:2016年02月18日 08:46:20   作者:那時(shí)候的我  
本文給大家分享的是在IOS瀏覽器中使用iscroll.js的上拉下拉刷新時(shí)當(dāng)手指劃出屏幕后無法回彈的解決方法,希望對(duì)大家能夠有所幫助。

使用過iscroll.js的上拉下拉刷新效果的朋友應(yīng)該都碰到過這個(gè)問題:在iOS的瀏覽器中,上拉或下拉刷新時(shí),當(dāng)手指劃出屏幕后,頁面無法彈回。很多人因?yàn)榻鉀Q不了這個(gè)問題,干脆就那樣不解決了,還有的直接就不用HTML了,使用原生代替HTML頁面。

相信很多朋友也有自己的解決辦法,只是沒寫出來,所以網(wǎng)上都搜不到解決方案。在很多QQ群里面也有很多人在問該怎么解決這個(gè)問題,所以我寫這篇文章記錄一下我的解決方案,希望對(duì)一些朋友有所幫助。

上拉下拉刷新的主要代碼:

 myScroll = new iScroll('wrapper', {
  vScrollbar: false,
  useTransition: true,
  topOffset: pullDownOffset,
  onRefresh: function () {
   if (pullDownEl.className.match('loading')) {
    pullDownEl.className = '';
    pullDownEl.querySelector('.pullDownLabel').innerHTML = 'Pull down to refresh...';
   } else if (pullUpEl.className.match('loading')) {
    pullUpEl.className = '';
    pullUpEl.querySelector('.pullUpLabel').innerHTML = 'Pull up to load more...';
   }
  },
  onScrollMove: function () {
   if (this.y > 5 && !pullDownEl.className.match('flip')) {
    pullDownEl.className = 'flip';
    pullDownEl.querySelector('.pullDownLabel').innerHTML = 'Release to refresh...';
    this.minScrollY = 0;
   } else if (this.y < 5 && pullDownEl.className.match('flip')) {
    pullDownEl.className = '';
    pullDownEl.querySelector('.pullDownLabel').innerHTML = 'Pull down to refresh...';
    this.minScrollY = -pullDownOffset;
   } else if (this.y < (this.maxScrollY - 5) && !pullUpEl.className.match('flip')) {
    pullUpEl.className = 'flip';
    pullUpEl.querySelector('.pullUpLabel').innerHTML = 'Release to refresh...';
    this.maxScrollY = this.maxScrollY;
   } else if (this.y > (this.maxScrollY + 5) && pullUpEl.className.match('flip')) {
    pullUpEl.className = '';
    pullUpEl.querySelector('.pullUpLabel').innerHTML = 'Pull up to load more...';
    this.maxScrollY = pullUpOffset;
   }
  },
  onScrollEnd: function () {
   if (pullDownEl.className.match('flip')) {
    pullDownEl.className = 'loading';
    pullDownEl.querySelector('.pullDownLabel').innerHTML = 'Loading...';
    pullDownAction();
   } else if (pullUpEl.className.match('flip')) {
    pullUpEl.className = 'loading';
    pullUpEl.querySelector('.pullUpLabel').innerHTML = 'Loading...';
    pullUpAction();
   }
  }
 });

頁面無法彈回的原因在于:手指劃出屏幕后touchend事件無法觸發(fā),回彈動(dòng)畫就無法執(zhí)行。解決辦法就是:當(dāng)手指接近屏幕邊緣的時(shí)候,手動(dòng)觸發(fā)動(dòng)畫方法。

在onScrollMove方法中插入判斷代碼:

  onScrollMove: function () {
   if((this.y < this.maxScrollY) && (this.pointY < 1)){
    this.scrollTo(0, this.maxScrollY, 400);
    return;
   } else if (this.y > 0 && (this.pointY > window.innerHeight - 1)) {
    this.scrollTo(0, 0, 400);
    return;
   }

   ......
  }

下面解釋一下這段代碼的意思。

this.y是頁面已經(jīng)滾動(dòng)的垂直距離,this.maxScrollY是最大垂直滾動(dòng)距離,this.pointY手指當(dāng)前的垂直坐標(biāo)。

當(dāng)this.y < this.maxScrollY,就是已經(jīng)處于上拉的過程,當(dāng)(this.y < this.maxScrollY) && (this.pointY < 1)時(shí),處于上拉且手指已經(jīng)觸及屏幕邊緣,這時(shí)候手動(dòng)觸發(fā)this.scrollTo(0, this.maxScrollY, 400),頁面就開始回彈。

下拉過程也可以同理分析。

相關(guān)文章

  • echarts中圖例右置且豎排完整代碼

    echarts中圖例右置且豎排完整代碼

    這篇文章主要給大家介紹了關(guān)于echarts中圖例右置且豎排的相關(guān)資料,Echarts可以幫助我們快速構(gòu)建柱狀圖、餅圖、條形圖,這對(duì)于多圖形化展示數(shù)據(jù)來說尤其方便,可幫助我們快速開發(fā),需要的朋友可以參考下
    2023-08-08
  • js split函數(shù)用法總結(jié)(從入門到精通)

    js split函數(shù)用法總結(jié)(從入門到精通)

    js split就是將一字符串以特定的字符分割成數(shù)組,數(shù)組一般是字符串處理比較常用的處理方法
    2013-03-03
  • 基于勻速運(yùn)動(dòng)的實(shí)例講解(側(cè)邊欄,淡入淡出)

    基于勻速運(yùn)動(dòng)的實(shí)例講解(側(cè)邊欄,淡入淡出)

    下面小編就為大家?guī)硪黄趧蛩龠\(yùn)動(dòng)的實(shí)例講解(側(cè)邊欄,淡入淡出)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • 微信小程序獲取手機(jī)號(hào)授權(quán)用戶登錄功能

    微信小程序獲取手機(jī)號(hào)授權(quán)用戶登錄功能

    微信小程序中有許多地方需要用戶注冊(cè)用戶信息的地方,用戶需要填寫手機(jī)號(hào)等,下面小編給大家分享微信小程序獲取手機(jī)號(hào)授權(quán)用戶登錄功能,需要的朋友參考下吧
    2017-11-11
  • js實(shí)現(xiàn)坦克移動(dòng)小游戲

    js實(shí)現(xiàn)坦克移動(dòng)小游戲

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)坦克移動(dòng)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • JS合并兩個(gè)數(shù)組的方法詳解

    JS合并兩個(gè)數(shù)組的方法詳解

    這篇文章主要詳細(xì)介紹了JS合并兩個(gè)數(shù)組的方法,文中有詳細(xì)的代碼示例,對(duì)我們學(xué)習(xí)JS有一定的幫助,感興趣的同學(xué)可以參考一下
    2023-06-06
  • js完美解決IE6不支持position:fixed的bug

    js完美解決IE6不支持position:fixed的bug

    關(guān)于IE6,雖然它已被微軟拋棄很久了,但是由于大天朝的特殊行情(盜版)對(duì)于前端工程師來說,解決IE6兼容position:fixed的問題顯得很重要。特別是你需要用到頭尾懸停調(diào)用的時(shí)候
    2015-04-04
  • JS實(shí)現(xiàn)簡單Tab欄切換案例

    JS實(shí)現(xiàn)簡單Tab欄切換案例

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)簡單Tab欄切換案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 收集前端面試題之url、href、src

    收集前端面試題之url、href、src

    本文給大家分享小編日常收集整理的關(guān)于前端面試題之url、href、src的語法規(guī)則及基本概念,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2018-03-03
  • js使用generator函數(shù)同步執(zhí)行ajax任務(wù)

    js使用generator函數(shù)同步執(zhí)行ajax任務(wù)

    這篇文章主要為大家詳細(xì)介紹了js使用generator函數(shù)同步執(zhí)行ajax任務(wù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09

最新評(píng)論

峨眉山市| 璧山县| 凤翔县| 南丹县| 乌苏市| 陈巴尔虎旗| 灵璧县| 和林格尔县| 乌鲁木齐县| 偏关县| 日喀则市| 南华县| 濉溪县| 深水埗区| 花垣县| 刚察县| 屏南县| 淮阳县| 乌拉特中旗| 林西县| 鹰潭市| 定安县| 邮箱| 厦门市| 盐源县| 邢台市| 阜阳市| 临海市| 上犹县| 远安县| 色达县| 始兴县| 海林市| 泸水县| 永城市| 樟树市| 工布江达县| 碌曲县| 从化市| 安岳县| 镇江市|