vux scroller在iOS13上,一停止滑动就跳到顶部

找到 \node_modules\vux-xscroll\build\cmd\simulate-scroll.js文件,对其中的getScrollTop方法重写,

vux scroller在iOS13上,一停止滑动就跳到顶部_第1张图片

  getScrollTop: function() {
    // var transY = window.getComputedStyle(this.container)[transform].match(/[-\d\.*\d*]+/g);
    
    var transY = window.getComputedStyle(this.container)[transform].match(/[-\d\.*\d*e\-\d]+/g);
    return transY ? Math.round(transY[5]) === 0 ? 0 : -Math.round(transY[5]) : 0;
  },

该方法校验transform的正则( /[-\d\.*\d*]+/g  )不能满足新版本 ,所以匹配iOS13会出现得到 
transY  = ["1", "-2.4492935982947064", "-16", "2.4492935982947064", "-16", "1", "0", "19.48200035095215"]的结果。
getScrollTop得到的返回值为-Math.round(transY[5]) 的时候永远为-1,这也就是为什么获取到的scrollTop的值总是会变成-1。
 

 

你可能感兴趣的:(Vue,iOS,vue,ios)