shineout
Version:
Shein 前端组件库
72 lines (58 loc) • 1.23 kB
JavaScript
;
exports.__esModule = true;
exports.default = _default;
var PIXEL_STEP = 10;
var LINE_HEIGHT = 40;
var PAGE_HEIGHT = 800;
var DELTA_LENGTH = 120;
function _default(event) {
var sX = 0;
var sY = 0;
var pX = 0;
var pY = 0;
if ('detail' in event) {
sY = event.detail;
}
if ('wheelDelta' in event && event.wheelDelta) {
sY = -event.wheelDelta / DELTA_LENGTH;
}
if ('wheelDeltaY' in event && event.wheelDeltaY) {
sY = -event.wheelDeltaY / DELTA_LENGTH;
}
if ('wheelDeltaX' in event && event.wheelDeltaX) {
sX = -event.wheelDeltaX / DELTA_LENGTH;
}
if ('axis' in event && event.axis === event.HORIZONTAL_AXIS) {
sX = sY;
sY = 0;
}
pX = sX * PIXEL_STEP;
pY = sY * PIXEL_STEP;
if ('deltaY' in event) {
pY = event.deltaY;
}
if ('deltaX' in event) {
pX = event.deltaX;
}
if ((pX || pY) && event.deltaMode) {
if (event.deltaMode === 1) {
pX *= LINE_HEIGHT;
pY *= LINE_HEIGHT;
} else {
pX *= PAGE_HEIGHT;
pY *= PAGE_HEIGHT;
}
}
if (pX && !sX) {
sX = pX < 1 ? -1 : 1;
}
if (pY && !sY) {
sY = pY < 1 ? -1 : 1;
}
return {
spinX: sX,
spinY: sY,
pixelX: pX,
pixelY: pY
};
}