我有一个棘手的问题,Webkit浏览器和一些自定义滚动行为。
在我的页面上,我正在检测滚动,当它发生时,通过使body
有overflow:hidden
来禁用滚动,然后为滚动位置执行一些自定义动画逻辑。
Webkit浏览器(Mac )上的问题是,当我重新启用滚动时,本机滚动看起来仍然很轻松,从而使页面更多地朝着初始滚动事件的方向移动,这在本例中是不可取的。
是否有禁用/重置本机滚动或本机滚动动量的方法?
下面是一个说明这个问题的码页。但是,您需要以zip的形式下载它并在本地运行--无论对预览容器做什么,都可以防止导致问题的“本机”滚动。当在本地查看并滚动“向下”时,您应该看到:
发布于 2021-08-09 03:51:10
解决方案是使用与body
不同的元素作为滚动包装器。显然,当将身体重新格式化为可滚动(有溢出)时,这种“恢复”动量滚动的行为是硬编码的,而其他可滚动的元素则不会出现这种不可预测的副作用。
https://stackoverflow.com/questions/68633003
复制