1

当 scrollTop 等于 500px 时,我想在位置固定的 div 上触发动画。有没有办法在成帧运动中做到这一点。我只找到当元素在视口中时提出的解决方案。但是我的 div 总是在视口中,因为它有一个固定的位置。我需要一个内置的滚动位置观察器。

沙盒

import { useInView } from "react-intersection-observer";
import { motion, useAnimation } from "framer-motion";
4

2 回答 2

2

这已经有点老了,但这是答案。

import { useViewportScroll } from "framer-motion";

const Nav = () => {
    const { scrollY } = useViewportScroll();
    
    scrolly.onChange(y => {
    // y = scroll position
    //Do Something
    })
}

于 2021-05-05T14:27:30.717 回答
0
  const { scrollY } = useViewportScroll();

  scrollY.onChange(y => {
    console.log('y ', y)
  })

只是一个轻微的错字:)

于 2022-02-19T01:56:46.010 回答