zoukankan      html  css  js  c++  java
  • vux scroller在iOS13上,一停止滑动就跳到顶部

    转载:https://blog.csdn.net/sllailcp/article/details/102502452

    今天客户反馈的问题,说在最新版的iOS上(iOS13),滑动列表,滑完就会跳到顶部,然后去查了下vux的文档,没有解决办法,百度了一大堆,也没有相关问题,只能看下源码到底是哪除了问题。

    经过一层层的查找,终于发现是ios13上面获取transform的结果跟老版本的结果不一样

    // 老版本:
    'matrix(1, -2.4492935982947064, 2.4492935982947064, 1, 0, 19.48200035095215)'
     
    //新版本
    'matrix(1, -2.4492935982947064e-16, 2.4492935982947064e-16, 1, 0, 19.48200035095215)'
     

    而vux-xscroll的正则是这么写的  

    window.getComputedStyle(this.container)[transform].match(/[-d.*d*]+/g)

    陪配最新版本的ios会出现["1", "-2.4492935982947064", "-16", "2.4492935982947064", "-16", "1", "0", "19.48200035095215"]

    然后就导致程序错乱。

    校验的代码具体目录是在 ode_modules\_vux-xscroll@3.1.12@vux-xscrolluildcmdsimulate-scroll.js下的getScrollTop方法

    解决办法:将 ode_modules\_vux-xscroll@3.1.12@vux-xscrolluildcmdsimulate-scroll.js下的getScrollTop方法里面的正则表达式替换成下面的就可以了。

      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;
      },

    如果有什么好的解决方法,可以告诉博主哦。

  • 相关阅读:
    delphi AlphaControls
    MATLAB 中NORM运用
    matlab画图形函数 semilogx
    fir2(n,f,m)
    离散系统频响特性函数freqz()
    snr ber Eb/N0之间的区别与联系
    MATLAB中白噪声的WGN和AWGN函数的使用
    matlab 功率谱分析
    用matlab实现同一个序列重复N倍
    Stem函数绘图
  • 原文地址:https://www.cnblogs.com/darkbluelove/p/11655854.html
Copyright © 2011-2022 走看看