前端2026-07-246 分钟
轻量滚动动效:IntersectionObserver 就够了
滚动动效很容易做过头。我的原则是:JS 只负责判断「看见了没有」,剩下的交给 CSS。
用 IntersectionObserver 观察元素,进入视口后加一个 class,触发 opacity 与 transform 的过渡。触发一次后立即 unobserve,避免反复计算。
记得为 prefers-reduced-motion 提供退路——尊重系统设置比炫技重要得多。
滚动动效很容易做过头。我的原则是:JS 只负责判断「看见了没有」,剩下的交给 CSS。
用 IntersectionObserver 观察元素,进入视口后加一个 class,触发 opacity 与 transform 的过渡。触发一次后立即 unobserve,避免反复计算。
记得为 prefers-reduced-motion 提供退路——尊重系统设置比炫技重要得多。