Реагирует 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 ответ
Используйте библиотеку для достижения этой цели.
Посмотрите на ответную прокрутку. Это директива для базовой и плавной прокрутки.
Живой пример доступен. Если это работает для вас, прочитайте инструкции по использованию.