|
123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import { eventScope, } from '../utils/';
- export function wheelHandler(scrollbar) {
- var addEvent = eventScope(scrollbar);
- var target = scrollbar.options.delegateTo || scrollbar.containerEl;
- var eventName = ('onwheel' in window || document.implementation.hasFeature('Events.wheel', '3.0')) ? 'wheel' : 'mousewheel';
- addEvent(target, eventName, function (evt) {
- var _a = normalizeDelta(evt), x = _a.x, y = _a.y;
- scrollbar.addTransformableMomentum(x, y, evt, function (willScroll) {
- if (willScroll) {
- evt.preventDefault();
- }
- });
- });
- }
- // Normalizing wheel delta
- var DELTA_SCALE = {
- STANDARD: 1,
- OTHERS: -3,
- };
- var DELTA_MODE = [1.0, 28.0, 500.0];
- var getDeltaMode = function (mode) { return DELTA_MODE[mode] || DELTA_MODE[0]; };
- function normalizeDelta(evt) {
- if ('deltaX' in evt) {
- var mode = getDeltaMode(evt.deltaMode);
- return {
- x: evt.deltaX / DELTA_SCALE.STANDARD * mode,
- y: evt.deltaY / DELTA_SCALE.STANDARD * mode,
- };
- }
- if ('wheelDeltaX' in evt) {
- return {
- x: evt.wheelDeltaX / DELTA_SCALE.OTHERS,
- y: evt.wheelDeltaY / DELTA_SCALE.OTHERS,
- };
- }
- // ie with touchpad
- return {
- x: 0,
- y: evt.wheelDelta / DELTA_SCALE.OTHERS,
- };
- }
- //# sourceMappingURL=wheel.js.map
|