vendor: 3,847 bytes, lines 1-118
1/*! Copyright (c) 2013 Brandon Aaron (http://brandonaaron.net) 2 * Licensed under the MIT License (LICENSE.txt). 3 * 4 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. 5 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. 6 * Thanks to: Seamus Leahy for adding deltaX and deltaY 7 * 8 * Version: 3.1.3 9 * 10 * Requires: 1.2.2+ 11 */ 12 13 14(function (factory) { 15 if ( typeof define === 'function' && define.amd ) { 16 // AMD. Register as an anonymous module. 17 define(['jquery'], factory); 18 } else if (typeof exports === 'object') { 19 // Node/CommonJS style for Browserify 20 module.exports = factory; 21 } else { 22 // Browser globals 23 factory(jQuery); 24 } 25}(function ($) { 26 27 var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll']; 28 var toBind = 'onwheel' in document || document.documentMode >= 9 ? ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll']; 29 var lowestDelta, lowestDeltaXY; 30 31 if ( $.event.fixHooks ) { 32 for ( var i = toFix.length; i; ) { 33 $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks; 34 } 35 } 36 37 $.event.special.mousewheel = { 38 setup: function() { 39 if ( this.addEventListener ) { 40 for ( var i = toBind.length; i; ) { 41 this.addEventListener( toBind[--i], handler, false ); 42 } 43 } else { 44 this.onmousewheel = handler; 45 } 46 }, 47 48 teardown: function() { 49 if ( this.removeEventListener ) { 50 for ( var i = toBind.length; i; ) { 51 this.removeEventListener( toBind[--i], handler, false ); 52 } 53 } else { 54 this.onmousewheel = null; 55 } 56 } 57 }; 58 59 $.fn.extend({ 60 mousewheel: function(fn) { 61 return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel"); 62 }, 63 64 unmousewheel: function(fn) { 65 return this.unbind("mousewheel", fn); 66 } 67 }); 68 69 70 function handler(event) { 71 var orgEvent = event || window.event, 72 args = [].slice.call(arguments, 1), 73 delta = 0, 74 deltaX = 0, 75 deltaY = 0, 76 absDelta = 0, 77 absDeltaXY = 0, 78 fn; 79 event = $.event.fix(orgEvent); 80 event.type = "mousewheel"; 81 82 // Old school scrollwheel delta 83 if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta; } 84 if ( orgEvent.detail ) { delta = orgEvent.detail * -1; } 85 86 // New school wheel delta (wheel event) 87 if ( orgEvent.deltaY ) { 88 deltaY = orgEvent.deltaY * -1; 89 delta = deltaY; 90 } 91 if ( orgEvent.deltaX ) { 92 deltaX = orgEvent.deltaX; 93 delta = deltaX * -1; 94 } 95 96 // Webkit 97 if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY; } 98 if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = orgEvent.wheelDeltaX * -1; } 99 100 // Look for lowest delta to normalize the delta values 101 absDelta = Math.abs(delta); 102 if ( !lowestDelta || absDelta < lowestDelta ) { lowestDelta = absDelta; } 103 absDeltaXY = Math.max(Math.abs(deltaY), Math.abs(deltaX)); 104 if ( !lowestDeltaXY || absDeltaXY < lowestDeltaXY ) { lowestDeltaXY = absDeltaXY; } 105 106 // Get a whole value for the deltas 107 fn = delta > 0 ? 'floor' : 'ceil'; 108 delta = Math[fn](delta / lowestDelta); 109 deltaX = Math[fn](deltaX / lowestDeltaXY); 110 deltaY = Math[fn](deltaY / lowestDeltaXY); 111 112 // Add event and delta to the front of the arguments 113 args.unshift(event, delta, deltaX, deltaY); 114 115 return ($.event.dispatch || $.event.handle).apply(this, args); 116 } 117 118}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.