Animation 如何使用Modernizer检测即时滚动事件的支持?

Animation 如何使用Modernizer检测即时滚动事件的支持?,animation,parallax,modernizr,scrollmagic,Animation,Parallax,Modernizr,Scrollmagic,我使用ScrollMagic在网页的每个部分触发动画。这对桌面和移动设备上的某些浏览器非常有效 然而,有些移动浏览器(Safari和Chrome的旧版本(在ipad上))在滚动事件完成之前不会播放这些动画。我知道有办法解决这个问题。但是,我只想在不受支持时关闭这些动画 有没有办法用Modernizer检测到这一点?或者我必须针对特定的浏览器及其版本吗?您不会检测到视差动画。这不是浏览器功能,而是可以使用浏览器功能实现的功能 在这种情况下,您可能希望检测是否在滚动期间重新流化页面,或者是否在滚动事

我使用ScrollMagic在网页的每个部分触发动画。这对桌面和移动设备上的某些浏览器非常有效

然而,有些移动浏览器(Safari和Chrome的旧版本(在ipad上))在滚动事件完成之前不会播放这些动画。我知道有办法解决这个问题。但是,我只想在不受支持时关闭这些动画


有没有办法用Modernizer检测到这一点?或者我必须针对特定的浏览器及其版本吗?

您不会检测到视差动画。这不是浏览器功能,而是可以使用浏览器功能实现的功能

在这种情况下,您可能希望检测是否在滚动期间重新流化页面,或者是否在滚动事件触发后等待页面。目前还没有检测到这一点,创建一个将变得相当油腻

我相信您看到的是在某些浏览器上滚动时未触发
scroll
事件的结果。我想不出用javascript来模拟这种情况的方法(触发一个scroll事件显然只会触发一个
scroll
事件,因此没有任何好处)。因此,我不相信您能够准确地检测到这一点。

我完全同意,但我想补充一点,您所说的chrome和safari的移动版本确实可以立即滚动事件

您描述的问题与版本8之前的所有iOS设备有关。
在此之前,移动浏览器引擎在滚动时不会触发“true”滚动事件,但只有一次滚动完全停止(因此在惯性停止后)。甚至javascript的执行也被暂停,因此您不能只运行一个循环来检查滚动位置

长话短说:有很多方法可以使用容器进行滚动和
requestAnimationFrame

我发现为iOS8之前的设备获取滚动事件的最简单方法是

我建议您查看以下内容:
还有这个:

回到你最初的问题:如何检测你何时甚至需要这些解决方法。
您需要检查您是否使用的是iOS版本7或更低版本,据我所知,这是Modernizer无法完成的,因为它是一个功能检测库

因此,请查看此线程以了解更多信息: