Реагирует scrollTo / get Y позиция элемента / компонента

Следующий фрагмент кода прокручивается вверх и также принимает задержку:

const ScrollToTop = React.createClass({
  getInitialState: function () {
    return {intervalId: 0};
  },

  scrollStep: function () {
    const top = 0;

    if (window.pageYOffset === top) {
      clearInterval(this.state.intervalId);
    }
    window.scroll(top, window.pageYOffset - this.props.scrollStepInPx);
  },

  scrollToTop: function (event) {
    event.preventDefault();

    const intervalId = setInterval(this.scrollStep, this.props.delayInMs);

    this.setState({intervalId: intervalId});
  }
});

Как мне добиться чего-то похожего, но с помощью моей основной навигации? Есть ли способ расчета смещения элемента? Тогда я мог бы вместо того, чтобы пропустить это.

1 ответ

Используйте библиотеку для достижения этой цели.

Посмотрите на ответную прокрутку. Это директива для базовой и плавной прокрутки.

Живой пример доступен. Если это работает для вас, прочитайте инструкции по использованию.

Другие вопросы по тегам