Smooth scrolls to element of the specified selector or element reference with optional offset, scroll-positon, easing, and duration. Takes into account document height for elements low on the page.
Add an additional offset to the final position. if > 0 then page is moved to the bottom otherwise the page is moved to the top.
Alignment of the element in the resulting viewport. Can be one of
'top'
,'middle'
or'bottom'
. Defaulting to'top'
.
Easing function defaulting to "out-circ" (view ease for more)
Animation duration defaulting to
1000
scrollToElement emits an
end
event when the scroll animation is complete, and can be optionally consumed to perform a callback.
var scrollToElement = require('scroll-to-element');
scrollToElement('#id');
// with options
scrollToElement('.className', {
offset: 0,
ease: 'out-bounce',
duration: 1500
}).on('end', () => {
console.log('Done scrolling!');
});
// or if you already have a reference to the element
var elem = document.querySelector('.className');
scrollToElement(elem, {
offset: 0,
ease: 'out-bounce',
duration: 1500
});
MIT