在您滚动一个具有某种 CSS 滚动捕捉活动的容器后,从用户滚动结束到浏览器开始滚动到捕捉位置的延迟是多长时间?
动机
我写了一个回答CSS Scroll Snap with Animation Effect的问题,我scrollend
通过 250 毫秒去抖动滚动事件回调来模拟一个事件。这似乎已经足够接近 Chrome 浏览器的真实价值了。但是获得一些一流的价值会很好。甚至可能在某个地方有一个 API,这样我就可以通过 JS 获得正确的值。
在您滚动一个具有某种 CSS 滚动捕捉活动的容器后,从用户滚动结束到浏览器开始滚动到捕捉位置的延迟是多长时间?
我写了一个回答CSS Scroll Snap with Animation Effect的问题,我scrollend
通过 250 毫秒去抖动滚动事件回调来模拟一个事件。这似乎已经足够接近 Chrome 浏览器的真实价值了。但是获得一些一流的价值会很好。甚至可能在某个地方有一个 API,这样我就可以通过 JS 获得正确的值。
CSS Scroll Snap Module 故意不指定也不强制任何用于强制捕捉位置的精确动画或物理;这留给用户代理。
我强烈认为大多数支持滚动捕捉的浏览器(例如 Firefox)使用的功能与它们已经用于scroll-behavior: smooth;
.
滚动框使用用户代理定义的计时函数在用户代理定义的时间段内以平滑的方式滚动。用户代理应该遵循平台约定,如果有的话。
这意味着不仅浏览器之间、它们的特定版本之间可能存在差异,而且取决于它们所运行的操作系统。另请注意,浏览器可能会或可能不会根据用户设置更改动画(例如,由于可访问性问题)。
我认为没有 API 可以获取准确的延迟和/或平滑功能。