anim-scroll
Version:
Small library to animate your web pages
51 lines (38 loc) • 1.64 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _setBlock = _interopRequireDefault(require("./setBlock"));
var _animation = _interopRequireDefault(require("../animation"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = (wrapper, options, activeSlide) => {
var key = options.navBarStyle.wrapper.direction === 'column' ? 'pageY' : 'pageX';
var direction = '';
var start = 0;
function handler(e) {
if (e.changedTouches[0][key] < start - options.scrollSensitivity) direction = 'next';else if (e.changedTouches[0][key] > start + options.scrollSensitivity) direction = 'prev';else return;
if (direction) {
options.scrollSensitivity += 7680;
if (wrapper.navBar) (0, _setBlock.default)(wrapper.navBar, 'block');
if (wrapper.arrows) {
(0, _setBlock.default)(wrapper.arrows.arrowNext, 'block');
(0, _setBlock.default)(wrapper.arrows.arrowPrev, 'block');
}
(0, _animation.default)(direction, wrapper, options, activeSlide).then(() => {
direction = '';
if (wrapper.navBar) (0, _setBlock.default)(wrapper.navBar, 'none');
if (wrapper.arrows) {
(0, _setBlock.default)(wrapper.arrows.arrowNext, 'none');
(0, _setBlock.default)(wrapper.arrows.arrowPrev, 'none');
}
options.scrollSensitivity -= 7680;
});
}
}
wrapper.slides.addEventListener('touchstart', e => {
start = e.touches[0][key];
});
wrapper.slides.addEventListener('touchend', handler);
};
exports.default = _default;
;