Javascript 更改页面长度/滚动条时iOS可视闪存

Javascript 更改页面长度/滚动条时iOS可视闪存,javascript,html,ios,css,Javascript,Html,Ios,Css,代码是可用的 如果在文档中向下滚动并单击“锁定/解锁”按钮,将显示一个文本覆盖。您会注意到,滚动条长度已更改,以适应覆盖高度,而不是原始页面高度。单击覆盖中的“解锁”,然后返回到上一个滚动位置的原始页面 该系统在桌面浏览器和我的安卓手机上工作得很好,但在iOS上,当覆盖被触发或移除时,会有一个渲染闪光灯。最终,我认为这是滚动条更改的错误 我尝试了一些常见的技巧来解决iOS渲染问题,webkit backface,transform3d,但没有成功。显然,显示内容和隐藏覆盖层,或者反之亦然,对于i

代码是可用的

如果在文档中向下滚动并单击“锁定/解锁”按钮,将显示一个文本覆盖。您会注意到,滚动条长度已更改,以适应覆盖高度,而不是原始页面高度。单击覆盖中的“解锁”,然后返回到上一个滚动位置的原始页面

该系统在桌面浏览器和我的安卓手机上工作得很好,但在iOS上,当覆盖被触发或移除时,会有一个渲染闪光灯。最终,我认为这是滚动条更改的错误


我尝试了一些常见的技巧来解决iOS渲染问题,webkit backface,transform3d,但没有成功。

显然,显示内容和隐藏覆盖层,或者反之亦然,对于iPad4来说,一次渲染太多了,导致了flash。这很奇怪,因为我在一台旧的Kindle和我的Android手机上进行了测试,这两款手机的处理器速度都很慢,处理得很好

为了解决这个问题,我在requestAnimationFrame函数中放置了scrollTop方法,该方法用于将用户返回到基础页面上的上一个位置。结果并不完美,内容可以在屏幕上滚动一小部分,但这比整个页面的闪光效果要好得多