Javascript 在保留可滚动div的同时防止页面橡皮筋/过卷:一个奇怪的错误

Javascript 在保留可滚动div的同时防止页面橡皮筋/过卷:一个奇怪的错误,javascript,ios,css,three.js,Javascript,Ios,Css,Three.js,我需要禁用iOS的弹性页面级滚动,同时保留在div内滚动的能力。解决方案一开始似乎对我有效,但我发现,在某些位置/变换下,解决方案会崩溃 如果我禁用-webkit溢出滚动,它可以正常工作,但在我看来,没有它的用户体验会大大降低 我使用THREE.js的css3drender进行定位,因为在这个项目中,我需要在3D场景的顶部合成dom元素,并使摄影机匹配。但本质上,这只是调整变换而已 我创建了一个代码笔,可以清楚地显示相机/对象位置在阻止页面滚动时始终滚动,而另一个代码笔会将其打断 请参见cod

我需要禁用iOS的弹性页面级滚动,同时保留在div内滚动的能力。解决方案一开始似乎对我有效,但我发现,在某些位置/变换下,解决方案会崩溃

如果我禁用-webkit溢出滚动,它可以正常工作,但在我看来,没有它的用户体验会大大降低

我使用THREE.js的css3drender进行定位,因为在这个项目中,我需要在3D场景的顶部合成dom元素,并使摄影机匹配。但本质上,这只是调整变换而已

我创建了一个代码笔,可以清楚地显示相机/对象位置在阻止页面滚动时始终滚动,而另一个代码笔会将其打断


请参见codepen

看起来确实像一个狩猎虫?代码笔有点让人困惑。。。当它说“current:breaked”时似乎工作正常,但当它说“current:notbreaked”时,div中的滚动似乎工作不稳定。对吗?有帮助吗?@WestLangley一开始有点难以理解,但我认为Aaron想要的是将弹跳滚动行为保留在div中,而不是文档中。似乎浏览器本身有一个bug,当出现一些transform3d内容时,它会破坏行为。@mrdoob怪异。当它“坏了”时,在div中滚动有时会起作用,但大多数时候它会滚动整个页面。对于“not Break”,它似乎在大多数情况下都能正常工作,尽管即使这样似乎也有一些奇怪之处。@AaronMeyers你试过iOS7吗?