Frequently Asked Questions

Here you will hopefully gain answers for questions you'll most likely asking yourself.
Is it possible to limit / adjust the scrollbar-handle length?
Yes. You can adjust the min- or max-length of the scrollbar-handle via CSS.
Please read this article for further information.
Is it possible to change the position and length of my scrollbars?
Yes. You can adjust the position of the scrollbars via CSS.
Please read this article for further information.
Can I click on the scrollbar-track to scroll to a certain offset?
Yes. This feature is called clickScrolling and can be activated with the option:
scrollbars : { 
    clickScrolling : true 
}
The default value for this option is false.
If you press the left mouse button on the red scrollbar-track, the scroll-offset will be animated until the destination has been reached or you release the button.
You can modify the scroll-animation with the following keys:
  • Press shift while clicking and no animation will occur and the offset changes instantly.
  • Press ctrl and shift while clicking and a animation with fixed (very low) duration will occur and the offset changes nearly instantly.
clickScrolling : true
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
How can I achieve space between the scrollbars and my content?
This is something I get asked very often. For this problem to solve I've created the paddingAbsolute option.
Set the option paddingAbsolute : true and adjust the padding of your target element as you like.
Below you have two example elements with padding : 20px each. The left element has absolute and the right element has normal padding.
paddingAbsolute : true
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
paddingAbsolute : false
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Does the plugin provide a "scrollTo" method?
Yes. The scroll method offers such a functionality. The API is a bit different to the scrollTo method, but the functionality is the same.
Actually, the method is capable of much more than its native counterpart. For example you can use relative coordinates, custom animation-duration, custom animation-easing and more.
var element = document.getElementById("box");

//scrolls 50px on the y axis
instance.scroll({ y : 50 }); 

//scrolls 50px on both axis and performs a smooth scroll animation
instance.scroll({ y : 50, x : 50 }, 1000); 

//adds 50 pixel to the vertical- and subtracts 50 pixel from the horizontal-scroll-offest
instance.scroll({ y : "+=50", x : "-=50" }); 

//scrolls to 50% on both axis and performs a smooth scroll animation with custom easing
instance.scroll({ y : "50%", x : "50%" }, 1000, "easeOutElastic");
Does the plugin provide a "scrollIntoView" method?
Yes. The scroll method offers such a functionality. The API is a bit different to the scrollIntoView method, but the functionality is the same.
Actually, the method is capable of much more than its native counterpart, please read the documentation to get further information.
Below you can see some examples:
var element = document.getElementById("box");

//equivalent to element.scrollIntoView():
instance.scroll({ el : element, block : { y : "begin", x : "nearest" } });

//equivalent to element.scrollIntoView() but with a smooth animation:
instance.scroll({ el : element, block : { y : "begin", x : "nearest" } }, 1000); 

//equivalent to element.scrollIntoView(false):
instance.scroll({ el : element, block : { y : "end", x : "nearest" } });

//equivalent to element.scrollIntoView({ block: "center", inline: "nearest"}):
instance.scroll({ el : element, block : { y : "center", x : "nearest" } }); 

//equivalent to element.scrollIntoView({ block: "start", inline: "start"}):
instance.scroll(element); 
Does the plugin provide a "scrollIntoViewIfNeeded" method?
Yes. The scroll method offers such a functionality. The API is a bit different to the scrollIntoViewIfNeeded method, but the functionality is the same.
Actually, the method is capable of much more than its native counterpart, please read the documentation to get further information.
Below you can see some examples:
var element = document.getElementById("box");

//equivalent to element.scrollIntoViewIfNeeded():
instance.scroll({ el : element, scroll : "ifneeded", block : "nearest" }); 

//equivalent to element.scrollIntoViewIfNeeded() but with a smooth animation:
instance.scroll({ el : element, scroll : "ifneeded", block : "nearest" }, 500); 

//equivalent to element.scrollIntoViewIfNeeded(true):
instance.scroll({ el : element, scroll : "ifneeded", block : { y : "nearest", x : "center" }  });
How can I get the current scroll position?
Next to many other values the scroll offset gets returned by the scroll method.
var scrollInfo = instance.scroll();
			
//equivalent to the scrollLeft value
var scrollLeft = scrollInfo.position.x;

//equivalent to the scrollTop value
var scrollTop = scrollInfo.position.y;
If the native scrollbars are already overlaid I don't want the plugin to be initialized.
If you don't want to initialize the plugin if the native scrollbars are already overlaid (for example like in mobile browsers, or UNIX operating systems), I've created the option nativeScrollbarsOverlaid.initialize. The default value is true, but if you set it to false the plugin won't initialize in such a environment.

A very important thing to note here is, that if an initialization gets cancelled because of this option, the callback onInitializationWithdrawn will be triggered, in order to make it easier for you to handle this case in your code.
How do I handle animations correctly?
The plugin updates the everytime it detects a breaking change in the DOM. Javascript-animations are doing very heavy and frequent DOM changes.
In order to gain the maximum performance, call the sleep method before your animation begins, so the plugin won't update automatically during the animation.
After your animation has ended call the update method to re-activate the plugin.
How do I use the plugin inside a flexbox layout?
It's a bit tricky to make the plugin work in every flexbox layout since the flexbox implementation differs in every browser. I believe the current functionality covers about 90% of all flexbox cases.
Please read this article to get further information about how to use the plugin inside a flexbox-layout correctly.

Plugin Comparison

On the internet you'll find many scrollbar plugins. Below I've compared the features of a few of them.
Hover or click on certain entries to see additional information or a description.
If I've made a mistake or if you want to enhance this table, please feel free to open a issue on github.

The Github information were refreshed on: ?
The table was last edited on: July 25, 2018 - 16:02
OverlayScrollbars Simplebar perfect-scrollbar gemini-scrollbar nanoScrollerJS Smooth Scrollbar Optiscroll jQuery.NiceScroll malihu custom scrollbar plugin jScrollPane
Github:
Github - stars
Github - open issues
Github - created
Github - is archived
Github - license
Tech:
Browser Support IE 8+ | Firefox | Chrome | Opera | Edge | Safari 6+IE 8+ IE 11 | Firefox | Chrome | Opera | Edge | Safari
More info for IE10 and below
IE 11+
IE 11 | Firefox | Chrome | Opera | Edge | Safari
but may have some issues in IE11"
IE 11+
IE 9+ | Firefox | Chrome | Opera | Edge | SafariIE 9+ IE 7+ | Firefox 3+ | Chrome | Safari 4+ | Opera 11.60+
check it out here
IE 7+
IE 10+ | Firefox 16+ | Chrome 22+ | Safari 8+
check it out here
IE 10+
IE 11+ | Firefox | Chrome | Opera | Edge | SafariIE 11+ IE 8+ | Firefox | Chrome | Opera | Edge | SafariIE 8+ IE 8+ | Firefox | Chrome | Opera | Safari
check it out here
IE 8+
IE 8+ | Firefox | Chrome | Opera | Edge | SafariIE 8+
Dependencyless Also has an optional jQuery version. jQuery is required Can be used with jQuery. (optional) jQuery is required jQuery is required
Uses native Scrolling
Uses animated Scrolling
The plugin doesn't wrap your content and no special DOM setup is needed.Works without content wrapping
The plugin doesn't automatically run an infinity loop to check for DOM changes.Doesn't require timer or loop for updating
Options changeable during runtime
Uses CSS3 Transform to move handle if supported
Possibility to write Extensions / Plugins
Possible to scroll to a element with a certain ID.
If you search text, the browser scrolls / jumps directly to the destination.
Anchor scrolling
Support:
Supports Textarea-Element
Supports Body-Element
Supports Touch
The plugin is able to handle native-overlaid (not space consuming) scrollbars.Supports native overlaid scrollbars Even provides extra options to handle this case. The plugin won't initialize if the native scrollbars are overlaid.
Supports Direction-RTL
If you change the native browser zoom.Supports Browser Zoom The native scrollbars will appear if you zoom. The native scrollbars will appear if you zoom. The plugin restricts the Zoom with Ctrl + Scroll. The native scrollbars will appear if you zoom. The plugin restricts the Zoom with Ctrl + Scroll.
You can only zoom if the scroll position is zero or maximum, else you will scroll.
You can change the scroll-offset by clicking on the scrollbar-track.Supports click-scrolling
You can change the scroll-offset by dragging the scrollbar-handle.Supports drag-scrolling
It's possible to initialize the plugin inside an iFrame from the outside.Supports iFrames The plugin initializes but it looks messed up and you can't scroll via dragging the handles.
It's buggy and you can tell this feature isn't supported.
The plugin initializes and looks alright.
But you can't scroll via dragging the handles.
iFrame support isn't mentioned anywhere.
The plugin initializes.
The plugin deosn't inject its default styles into the iframe.
You can't scroll with dragging the handles.
iFrame support isn't mentioned anywhere.
The plugin initializes and looks alright.
But you can't scroll via dragging the handles.
iFrame support isn't mentioned anywhere.
Everything worked, but in my test-case the horizontal scrollbar was out of place. The plugin won't initialize properly.
In older versions the plugin initializes but scrolling is only
possible vertically and you can't scroll via dragging the handles.
The plugin initializes and looks alright.
But you can't scroll with dragging the handles.
iFrame support isn't mentioned anywhere.
Supports nesting It works but has one bug if you use a certain option.
Scrollbar styling:
Adjustable scrollbar handle min-length Via CSS-styling in all CSS units. Via plugin-options, only in pixels. Via plugin-options, only in pixels. Via plugin-options, only in pixels. Via plugin-options, only in pixels. Via plugin-options, only in pixels. Via plugin-options, only in percent. Via plugin-options, only in pixels. Via plugin-options, only in pixels.
Adjustable scrollbar handle max-length Via CSS-styling in all CSS units. Via plugin-options, only in pixels. Via plugin-options, only in pixels. Via plugin-options, only in percent. Via plugin-options, only in pixels.
Scrollbar handle can have fixed length Via plugin-options. Via plugin-options.
Adjustable scrollbar-length Via CSS-styling in all CSS units. Via CSS-styling in all CSS units. Via CSS-styling in all CSS units. Via CSS-styling in all CSS units. Via CSS-styling in all CSS units.
The plugin provides a option to hide the scrollbars if the user is inactive or if a certain event happens.Scrollbars auto-hide possibility
The plugin provides a documented possibility to use arrow buttons in the scrollbars.Scrollbar arrow buttons
Goodies:
scrollTo-like method
scrollIntoView-like method
scrollIntoViewIfNeeded-like method
Provides CSS3 resize functionality
A feedback or an animation if you reached the minimum or maximum scroll offset.Overscroll animation / feedback