swinch
The best and most flexible alternative to full-page scroll-controlling javascript plugins
There are no runtime dependencies!!!
The build is dependent on the fantastic zenscroll plugin!
Installation
npm install swinch
,bower install swinch
,yarn add swinch
- Include
dist/swinch.js
orswinch.min.js
(uses UMD)
Setup
- After the DOM loads, call
swinch.init([sections][, options])
- When you're done with it, you can call
swinch.destroy()
If no sections are set, then
document.querySelectorAll('section')
will be used by default.
Options
/** * The duration of the snap, in milliseconds. * * This can be overridden with the attribute "swinch-duration" on a section. * ex. <section swinch-duration="1000"></section> * * @type */ duration: 500 /** * The offset of the snapping target. * * This can be overridden with the attribute "swinch-offset" on a section. * ex. <section swinch-offset="100"></section> * * @type */ offset: 0 /** * Force snap on a part of each section. * * null Snap to the bottom of each section if going up & top if going down. * 'top' Force snap to the top of each section * 'bottom' Force snap to the bottom of each section * * @type */ snapTo: null /** * Called before the snapping starts * * @param * @param * @param * * @return */ { // } /** * Called after the snapping completes * * @param * @param * @param * * @return */ { // }
Example
Checkout test.html
for an example.