Skip to content

Egor-Koldasov/scroll-into-view

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

scroll-into-view

What

Scroll's an element into view

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, // half a second
    ease: function(value){
        return Math.pow(value,2) - value); // Do something weird.
    },
    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){
    // Scrolling done.
    // type will be 'complete' if the scroll completed or 'canceled' if the current scroll was canceled by a new scroll
})

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

About

Scrolls an element into view if possible

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 93.0%
  • HTML 7.0%