README
scroller
The best custom scroll bar. Can be nested.
I used it in my vue ui components library Admin-Ui Scroller. If you want to use it in vue or react, maybe you can look up the source of Admin-Ui Scroller
install
Scroller can be installed by npm or yarn.
yarn install scroller
Or you can just install it as a script tag.
<script src="../anypath/scroller.js"></script>
Useage
.custom-track-style {
background: red;
}
.custom-bar-style {
background: blue;
}
<div id="container">
<div style="width: 1200px; height: 1200px;"></div>
</div>
import Scroller from 'scroller'
const myScroller = new Scroller({
el: document.getElementById('container'),
direction: 'both',
offset: 4,
scaleable: true,
trackClassName: 'custom-track-style',
barClassName: 'custom-bar-style'
})
Note: The children of container element should at least be an element node (
nodeType=== 1). All the other types will be ignored.
Options
el: DOMElement, required, a container element which you want to made it a custom scrollbardirection: String, optional, determine which direction you would like to scroll. it support values below.both: default valuehorizontalverticalnone
offset: Number, optional, the space between scroll bar and element edge, max is 8 and min to 0, the default is 4scaleable: Boolean, optional, determine if the scroll bar width can enlarge or not when user hovers over the elementtrackClassName: String, optional, you can use it to customize the track stylebarClassName: String, optional, you can use it to customize the bar style
Methods
Scroller(options): Constructor, it returns an instance of scrollerscroller.setDirection(direction): Set scroll direction, it returns an instance of scrollerscroller.getScroll(): Return currentscrollTopandscrollLeftvaluescroller.onScroll(callback): Bind a scroll event listener to instance, the callback recieves anEventobject which is the native scroll event object. It returns current scroll instancescroller.offScroll(callback): Unbind a scroll event listener to instance, the callback recieves anEventobject which is the native scroll event object. Omitting callback will unbind all the scroll event listener. It returns current scroll instancescroller.scrollTo(position): Let scroller scroll to the specified position. It returns current scroll instanc.positionsis an object which contains keys belowscrollTop: OptionalscrollLeft: Optional
scroller.destroy(): Instance method, use it to destroy a scroller instance