infinity-forge
Version:
62 lines • 2.62 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EffectFade = EffectFade;
var effect_init_1 = __importDefault(require("../shared/effect-init.js"));
var effect_target_1 = __importDefault(require("../shared/effect-target.js"));
var effect_virtual_transition_end_1 = __importDefault(require("../shared/effect-virtual-transition-end.js"));
var utils_1 = require("../shared/utils.js");
function EffectFade(_a) {
var swiper = _a.swiper, extendParams = _a.extendParams, on = _a.on;
extendParams({
fadeEffect: {
crossFade: false,
},
});
var setTranslate = function () {
var slides = swiper.slides;
var params = swiper.params.fadeEffect;
for (var i = 0; i < slides.length; i += 1) {
var slideEl = swiper.slides[i];
var offset = slideEl.swiperSlideOffset;
var tx = -offset;
if (!swiper.params.virtualTranslate)
tx -= swiper.translate;
var ty = 0;
if (!swiper.isHorizontal()) {
ty = tx;
tx = 0;
}
var slideOpacity = swiper.params.fadeEffect.crossFade
? Math.max(1 - Math.abs(slideEl.progress), 0)
: 1 + Math.min(Math.max(slideEl.progress, -1), 0);
var targetEl = (0, effect_target_1.default)(params, slideEl);
targetEl.style.opacity = slideOpacity;
targetEl.style.transform = "translate3d(".concat(tx, "px, ").concat(ty, "px, 0px)");
}
};
var setTransition = function (duration) {
var transformElements = swiper.slides.map(function (slideEl) { return (0, utils_1.getSlideTransformEl)(slideEl); });
transformElements.forEach(function (el) {
el.style.transitionDuration = "".concat(duration, "ms");
});
(0, effect_virtual_transition_end_1.default)({ swiper: swiper, duration: duration, transformElements: transformElements, allSlides: true });
};
(0, effect_init_1.default)({
effect: 'fade',
swiper: swiper,
on: on,
setTranslate: setTranslate,
setTransition: setTransition,
overwriteParams: function () { return ({
slidesPerView: 1,
slidesPerGroup: 1,
watchSlidesProgress: true,
spaceBetween: 0,
virtualTranslate: !swiper.params.cssMode,
}); },
});
}
//# sourceMappingURL=effect-fade.js.map