ios fixed 拖动兼容

方法一:(我用了但是没起作用,可以忽略看方法二)
<preference name="WebViewBounce" value="false"/>
<preference name="DisallowOverscroll" value="false"/>

将上面代码复制根目录config.xml配置文件里面


上面是ios和android版本都兼容,下面是只针对ios
方法二:

第一步:将body设置为

body{
    position:fixed;
    width: 100%;
  }

第二步:在main.js里面对ios界面进行控制

//ios 界面拖拽会出现顶部或者底部脱离位置的滑动现象
document.querySelector('body').addEventListener('touchmove', function(e) {
  //禁止顶部拖动
  if (document.querySelector('.topnavbar').contains(e.target)) {
    e.preventDefault();
  }
  //禁止底部拖动
  if (document.querySelector('.bottombar').contains(e.target)) {
    e.preventDefault();
  }
  //对中间部分拖动进行优化
  var content = document.querySelector('.centerpage');
  var startY;
  content.addEventListener('touchstart', function (e) {
    startY = e.touches[0].clientY;

  });

  content.addEventListener('touchmove', function (e) {
    // 高位表示向上滚动
    // 底位表示向下滚动
    // 1容许 0禁止
    var status = '11';
    var ele = this;
    var currentY = e.touches[0].clientY;
    if (ele.scrollTop === 0) {
      // 如果内容小于容器则同时禁止上下滚动
      status = ele.offsetHeight >= ele.scrollHeight ? '00' : '01';
    } else if (ele.scrollTop + ele.offsetHeight >= ele.scrollHeight) {
      // 已经滚到底部了只能向上滚动
      status = '10';
    }
    if (status != '11') {
      // 判断当前的滚动方向
      var direction = currentY - startY > 0 ? '10' : '01';
      // 操作方向和当前允许状态求与运算,运算结果为0,就说明不允许该方向滚动,则禁止默认事件,阻止滚动
      if (!(parseInt(status, 2) & parseInt(direction, 2))) {
        e.preventDefault();
      }

    }

  });

})

欢迎关注【哎呦程序猿公众号】,带给你更多前端干货!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • 继前几天做了鱼汤拌面、羊汤面后,想着再试着做一下焖面。 昨天晚上就先把豆角焖了,家里没有肉末怎么办。难不倒我。把爷...
    徐徐大猫阅读 237评论 0 0
  • JavaScript的面向对象编程和大多数其他语言如Java、C#的面向对象编程都不太一样。类和实例是大多数面向对...
    _我和你一样阅读 256评论 0 0
  • 你不知道什么时候 弄丢了脸上的婴儿肥 偶然间发现 父母的脸上多了几道沟痕 你不知道什么时候 弄丢了拥抱的臂膀 偶然...
    宋哇哇阅读 301评论 2 2
  • 2018年2月6日03:18,死去一点点,离天天堂近一点点,如果有天堂的话。我更愿是一块石头,一块不属于天空,也不...
    瘦桶阅读 173评论 1 7