diff --git a/jquery.mousewheel.js b/jquery.mousewheel.js index d7225fabb..c26748dd2 100755 --- a/jquery.mousewheel.js +++ b/jquery.mousewheel.js @@ -19,10 +19,11 @@ } }(function ($) { - var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll']; - var toBind = 'onwheel' in document || document.documentMode >= 9 ? ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll']; - var slice = Array.prototype.slice; - var lowestDelta, lowestDeltaXY; + var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], + toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ? + ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], + slice = Array.prototype.slice, + lowestDelta; if ( $.event.fixHooks ) { for ( var i = toFix.length; i; ) { @@ -69,9 +70,7 @@ delta = 0, deltaX = 0, deltaY = 0, - absDelta = 0, - absDeltaXY = 0, - fn; + absDelta = 0; event = $.event.fix(orgEvent); event.type = 'mousewheel'; @@ -103,17 +102,16 @@ // No change actually happened, no reason to go any further if ( deltaY === 0 && deltaX === 0 ) { return; } - // Look for lowest delta to normalize the delta values - absDelta = Math.abs(delta); - if ( !lowestDelta || absDelta < lowestDelta ) { lowestDelta = absDelta; } - absDeltaXY = Math.max(Math.abs(deltaY), Math.abs(deltaX)); - if ( !lowestDeltaXY || absDeltaXY < lowestDeltaXY ) { lowestDeltaXY = absDeltaXY; } + // Store lowest absolute delta to normalize the delta values + absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); + if ( !lowestDelta || absDelta < lowestDelta ) { + lowestDelta = absDelta; + } - // Get a whole value for the deltas - fn = delta > 0 ? 'floor' : 'ceil'; - delta = Math[fn](delta / lowestDelta); - deltaX = Math[fn](deltaX / lowestDeltaXY); - deltaY = Math[fn](deltaY / lowestDeltaXY); + // Get a whole, normalized value for the deltas + delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta); + deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta); + deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta); // Add event and delta to the front of the arguments args.unshift(event, delta, deltaX, deltaY);