移动端页面位于最顶部时下划,上方总会出现黑色的背景,而
ios中,页面划动到底部时继续上划同样会出现黑色背景,不过这其实并不是什么大问题。

但我们在开发过程中发现,页面往上滑动速度稍快一点,即使页面还没到底,下方黑色背景也会偶尔出现,影响到了正常的滑动体验,所以我们想出了一个解决办法。

function moveAdjustment(domId){document.documentElement.ontouchmove=function(e){e.preventDefault();};var wrap=document.getElementById(domId);wrap.addEventListener('touchstart',function(e){var startPoint=e.touches[0].clientY;wrap.ontouchmove=function(e){var movePoint=e.touches[0].clientY;var nowScroll=wrap.scrollTop;var wholeScroll=wrap.scrollHeight-wrap.clientHeight;if(nowScroll==0){if(startPoint<movePoint){e.preventDefault();}else{e.stopPropagation();};}else if(nowScroll==wholeScroll){if(startPoint>movePoint){e.preventDefault();}else{e.stopPropagation();}}else if(nowScroll>0 && nowScroll<wholeScroll){e.stopPropagation();}else{e.preventDefault();};};},false);
};moveAdjustment('wrap');

这种方法的主要原理就是在三种不同状态(页面位于顶部、页面拉到底部以及除这两种状态以外的状态)下比较触摸点在垂直方向的偏移值大小来禁用和解放页面的滑动功能。

不过也因此,使得这种方法并不完美:首先,在没有滚动条出现的情况下是没有效果的;其次,从底部滑动回到顶部的时候也是没有效果的。

但目的我们是达到了,设置了之后,在页面滑动到底部之前都不会出现下方的黑色背景而影响体验。

最后需要注意一下,使用这种方法时需要配合一点css样式:

.wrap{overflow:auto;max-height:100vh;-webkit-overflow-scrolling:touch;
}

最后的最后,希望大家能不吝赐教,指出问题或提出优化方法。

ios上拉下划出现黑色背景的解决办法相关推荐

  1. 坑!!!高清解决方案导致iOS 上h5页面滑不动的解决办法

    首选这个问题出现在我们一个h5页面的首页上,滑不动!在iPhone X和iPhone 11上并且系统版本发现是13.2.2,而iPhone  X  Max 系统版本12.2的并没有出现.所以我估摸着应 ...

  2. 联想笔记本电脑老是自动选择桌面上最后一个图标,而且浏览网页鼠标自动拉到最底部的解决办法

    联想笔记本电脑老是自动选择桌面上最后一个图标,而且选择其他的图标总是会打开最后一个图标,打开网页或者我的电脑滚动条会自动下拉到最底部 下面编程爱好者之家为大家带来解决办法 临时解决方案一: 开机后连续 ...

  3. ThreadLocal 遇上线程池的问题及解决办法

    ThreadLocal 遇上线程池的问题及解决办法 参考文章: (1)ThreadLocal 遇上线程池的问题及解决办法 (2)https://www.cnblogs.com/qifenghao/p/ ...

  4. (OS 10038)在一个非套接字上尝试了一个操作 的解决办法

    在SVN的机器上,系统盘,剩余空间不足1G, 经查看,是C:\Program Files (x86)\Apache Software Foundation\Apache2.2\logs里面存在了很多( ...

  5. 解决uniapp小程序打包体积超过2M,提示包体积超过2M,“main packagexxx”,不给上传和预览的解决办法,绝对有效

    解决办法,原文地址: 解决uniapp小程序打包体积超过2M,提示包体积超过2M,"main packagexxx",不给上传和预览的解决办法,绝对有效!在微信小程序开发中,为了解 ...

  6. iOS不能跳转到支付宝的解决办法

    iOS不能跳转到支付宝的解决办法 对接APP/H5支付时,可能会遇到在加载支付页面时,不能跳转到支付宝app(手机已经安装支付宝),目前iOS版本解决办法如下 以UIWebView为例 android ...

  7. 电脑连上wifi但不能上网的解决办法

    电脑连上wifi但不能上网的解决办法 今天在打开电脑连接wifi时遇到了点问题,就是明明连上了却不能识别网络,找了很久解决了,记录一下,以免下次再遇到. 之前试了很多网友说的更改配置器,发现没用.后来 ...

  8. ios 上拉加载 下拉刷新

    在一款 App应用中有的时候会用到上拉加载下拉刷新的功能,本人觉得SVPullToRefresh很好用(可以用在UIScrollView上,包括UITableview和UICollectionView ...

  9. 微信小程序播放语音|audio播放mp3|audio播放音频在IOS|苹果手机上外放没声音,戴上耳机就有声音【解决办法记录】

    以前项目中遇到的问题,今天同事问到了,在这里记录一下 语音播放使用的 wx.createInnerAudioContext() 诡异问题记录: 在安卓上都没问题,语音发送接收之后播放都没问题,就是在 ...

最新文章

  1. 如何在零停机的情况下迁移 Kubernetes 集群
  2. Qt工作笔记-QML自定义圆形进度条(C++后端处理数据)
  3. 嵌入式 U 盘自动挂载
  4. 一位老程序员的心得分享,WEB前端菜鸟,感觉很迷茫,该怎么做?
  5. 大数据之-Hadoop完全分布式_完全分布式模式下的集群配置---大数据之hadoop工作笔记0034
  6. 测试用例的优先级概念
  7. php版本kms,通过 AWS KMS API 和 AWS SDK for PHP 版本 3 使用密钥 - 适用于 PHP 的 AWS 开发工具包...
  8. 【中秋快乐】求问meta-learning和few-shot learning的关系是什么?
  9. 运用思维导图学习数据分析的五个步骤
  10. POJ 3461题解(kmp算法)文本串和子串匹配
  11. 方舟服务器物品代码,方舟:生存进化 全物品代码ID一览 物品修改代码大全
  12. 土豪也不会告诉你的IBM X3850 X5
  13. AD14简明使用教程(同样试用于手工制板)
  14. office文档转换为html,OFFICE 文档转换为html在线预览
  15. DIY一款600元成本的电路板热成像故障分析仪
  16. Netty Websocket多人多房间聊天室Demo
  17. 戴建业老师对李白和杜甫的讨论
  18. 计算机毕业设计ssm农贸市场摊位管理系统c22ux系统+程序+源码+lw+远程部署
  19. 计算机专业的女生适合干什么工作?
  20. Ipad各系列年代顺序

热门文章

  1. Autojs4.1.0实战教程---闪电盒子极速版度新新闻
  2. SSM框架实例--信息管理系统
  3. 小鱼易连宣布完成1.25亿B轮融资
  4. 《JavaScript征途》读后感写作有奖召集令
  5. MIDI通信协议-数据字节:GM1打击乐器音色库(带乐器中文名称)
  6. 点亮夜经济,释放新“夜态”|东营市运河路美食街啤酒节盛大开幕
  7. greg名字寓意_主题演讲-Greg Gilley与Adobe
  8. Ubuntu Desktop 18.04 设置静态IP方法(超详细)
  9. C# 处理 excel 合并计算
  10. oracle 55道练习题