3

我正在为需要在 iPad 上运行的网页构建一个无限滚动组件。

所以 - 当用户滚动到列表底部时,我们会加载更多内容并在加载时显示动画 ajax 加载器图像。

通过使用 touchmove 事件来测量页面滚动位置并在需要时加载内容,我已经设法让它工作到一定程度。但是 - 当我们滚动页面时,任何动画 gif(或 css 动画图标)都会停止动画(大概是为了减少 gpu 上的负载)。

然而,我找到了解决这个问题的方法——如果我在其上创建一个带有溢出:滚动的元素,我可以将我的所有内容放入其中并在 touchmove 上使用相同的测量位置的方法,但动画 gif 仍然继续动画,我可以也在后台运行javascript函数。

但是 - 我也希望滚动区域在滚动后让标准的 iOS 动量/惯性减慢。我设法通过将 -webkit-overflow-scrolling: touch 应用于滚动区域来实现这一点。

所以 - 对于我的问题 - 当我释放滚动元素并且它逐渐减速时,我想测量滚动元素的位置,因为它会自动减速(如果这有意义的话)。我可以在滚动使用“touchmove”事件时对其进行测量,并且可以在动量停止时进行测量,但不能在动量/减速位期间进行测量。

我可以在它发生时运行 javascript 循环/间隔,但似乎不可能准确测量元素的滚动位置,因为它逐渐变慢。

有任何想法吗?

谢谢

4

0 回答 0