scroll-into-view
What
Scroll's an element into view
Also scrolls any scroll-parents so that the element is in view.
Example
Example
How
require it
var scrollIntoView = require('scroll-into-view');
use it
scrollIntoView(someElement);
You can pass settings to control the time, easing, and whether or not a parent is a valid element to scroll, and alignment:
scrollIntoView(someElement, {
time: 500,
ease: function(value){
return Math.pow(value,2) - value);
},
validTarget: function(target, parentsScrolled){
return parentsScrolled < 2 && !target.matches('.dontScroll');
},
align:{
top: 0 to 1, default 0.5 (center)
left: 0 to 1, default 0.5 (center)
}
});
You can pass a callback that will be called when all scrolling has been completed or canceled.
scrollIntoView(someElement [, settings], function(type){
});
Testing
Testing scrolling is really hard without stuff like webdriver, but what's there works ok for the moment.
The tests will attempt to launch google-chrome. If you don't have chrome, lol just kidding you do.
npm run test