ScrollSide
When you've included ScrollSide into your site, your user can use the mouse wheel to scroll up to go left and down to move right.
Download Debut Article Example UsagePlugin Code (Version 1.0)
var ScrollSide = new Class({ //implements Implements: [Options,Events], //options options: { reset: true, movement: 75 /*, onScrollUp: $empty, onScrollDown: $empty */ }, //initialization initialize: function(container,options) { //set options this.setOptions(options); this.container = $(container); if(this.options.reset) { this.container.scrollTo(0,0); } this.containerWidth = this.container.getScrollSize().x; this.position = this.container.getScroll().x; //add the listener this.addListeners(); }, //listen for scrolling addListeners: function() { /* scroll reset */ var scrollContainer = (this.container == $(document.body) ? window : this.container); scrollContainer.addEvent('scroll',function() { this.position = this.container.getScroll().x; }.bind(this)); /* mousewheeling */ this.container.addEvent('mousewheel',function(event) { event.stop(); //scroll down/right if(event.wheel < 0) { this.fireEvent('onScrollUp',[event]); var pos = this.position + this.options.movement; this.position = (pos <= this.containerWidth ? pos : this.containerWidth); } //scroll up/left else{ this.fireEvent('onScrollDown',[event]); var pos = this.position - this.options.movement; this.position = (pos > 0 ? pos : 0); } this.container.scrollTo(this.position,0); }.bind(this)); } }); /* usage */ window.addEvent('domready',function() { var ss = new ScrollSide($(document.body)); });
Options and Events
- reset: (defaults to true) Sets the container to the {x:0,y:0} position on instantiation.
- movement: (defaults to 75) The number of pixels to scroll on each wheel movement.
Events for ScrollSide include:
- onScrollUp: Fires when the user scrolls their mouse wheel up.
- onScrollDown: Fires when the user scrolls their mouse wheel down.
Code Revisions & Bug Fixes
None.