Improved scrollable element for desktop and touch device.
The goal of this library is high performance and easy to use, while keep the code simplicity.
Tested on Android > 2.2, IOS > 6 , IE > 8 and other modern browsers.
click here to see what device/os_version should be supported.
This library need Object.defineProperty and CustomEvent to work properly, if not exsit, the element hack (scrollTop and scroll event) would not available
$ npm install iscroll-component
You may need webpack to build this lib
<div class="scrollable">
<div>
<ul>
</ul>
</div>
</div>First element child is used as wrapper element
var Iscroll = require('iscroll');
var el = document.getElementById('scrollable');
var scroll = new Iscroll(el);
el.addEventListener('scroll', function(e) {
console.log(el.scrollTop);
}, false);-
startevent is fired with y (translated) on scroll start. -
releaseevent is fired with y (translated) on touchend. -
scrollevent is fired with y (Just as scrollTop on the element) on scroll. -
scrollendevent is fired with Object containingtopandbottomindicate whether the element has scrolled to top or bottom.
Init iscroll with el and optional opts, set opts.handlebar to true if you want handlebar.
-
opts.handlebarset to false if you need disable handlebar -
opts.maxset maxium translateY default 80 -
opts.barClassclassName for handlebar element, use this to replace default handlebar className which isiscroll-handlebar
Recalculate element height, call this after element height changed. Called automatically on scroll start, orientation change and window resize.
Set translateY to y with optional duration(ms), called when you set el.scrollTop.
Unbind all event listeners.
npm install gulp http://localhost:8080/example/index.html
MIT