Как определить определенную позицию прокрутки с помощью framer-motion?

#reactjs #framer-motion

#reactjs #framer-motion

Вопрос:

Когда scrollTop равен 500px, я хочу запустить анимацию в div с фиксированной позицией. Есть ли способ сделать это в framer-motion. Я нахожу решение, которое предлагается только тогда, когда элемент находится в окне просмотра. Но мой div всегда находится в окне просмотра, потому что он имеет фиксированную позицию. Мне нужна сборка в наблюдателе за положением прокрутки.

песочница

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

Ответ №1:

это уже устарело, но вот ответ.

 import { useViewportScroll } from "framer-motion";

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

Ответ №2:

   const { scrollY } = useViewportScroll();

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

просто небольшая опечатка 🙂

Комментарии:

1. Где опечатка, на которую вы ссылаетесь? Поле ответа следует использовать только для полных ответов

2. @camille scrolly вместо scrollY . В любом случае, у вас острый глаз, но, как говорит Камилла, для ответов следует использовать поля ответов. Вы можете получить еще немного репутации, а затем прокомментировать этот ответ, чтобы указать на это.