mousewheel.html revision f48add59c0e613a564104e28dc832c476535c38b
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright #scrollableParent {
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright background:#ccc;
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright <script src="/build/yui/yui.js" type="text/javascript" charset="utf-8"></script>
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright YUI.add('scrollview-mousewheel', function(Y){
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright function MouseWheelPlugin(config) {
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright MouseWheelPlugin.superclass.constructor.apply(this, arguments);
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright MouseWheelPlugin.NAME = 'pluginScrollViewMouseWheel';
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright initializer: function() {
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright this.afterHostEvent('render', this._afterRender);
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright _afterRender: function() {
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright var contentBox = host.get("contentBox");
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright var lineHeight = contentBox.one("ul li").getComputedStyle('height'); // This probably shouldn't assume `ul li`
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright var lineHeightInt = parseInt(lineHeight, 10);
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright contentBox.on("mousewheel", function(e) {
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright var preventDefault = true;
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright var scrollY = host.get('scrollY');
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright var scroll_to = scrollY - (e.wheelDelta * lineHeightInt);
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright // if we have scrollbars plugin, flash the scrollbar
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright // prevent browser default behavior on mouse scroll
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright if (preventDefault) {
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright Y.Base.plug(Y.ScrollView, MouseWheelPlugin);
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright filter:"raw",
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright 'scrollview-mousewheel' : {
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright requires: ['event-mousewheel']
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright }).use('event-mousewheel', 'scrollview', 'cssreset', 'cssfonts', function(Y) {
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright var scrollView = new Y.ScrollView({
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright id: "scrollview",
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright srcNode: Y.one("#scrollable"),
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright mousewheel: true,
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright minDistance:10,
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright minVelocity:0.3,
f48add59c0e613a564104e28dc832c476535c38bDerek Gathright scrollView.get("contentBox").on('mouseover', function(e){