123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import { e as effectInit } from '../shared/effect-init.mjs';
- import { e as effectTarget } from '../shared/effect-target.mjs';
- import { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs';
- import { g as getSlideTransformEl } from '../shared/utils.mjs';
- function EffectFade(_ref) {
- let {
- swiper,
- extendParams,
- on
- } = _ref;
- extendParams({
- fadeEffect: {
- crossFade: false
- }
- });
- const setTranslate = () => {
- const {
- slides
- } = swiper;
- const params = swiper.params.fadeEffect;
- for (let i = 0; i < slides.length; i += 1) {
- const slideEl = swiper.slides[i];
- const offset = slideEl.swiperSlideOffset;
- let tx = -offset;
- if (!swiper.params.virtualTranslate) tx -= swiper.translate;
- let ty = 0;
- if (!swiper.isHorizontal()) {
- ty = tx;
- tx = 0;
- }
- const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(slideEl.progress), 0) : 1 + Math.min(Math.max(slideEl.progress, -1), 0);
- const targetEl = effectTarget(params, slideEl);
- targetEl.style.opacity = slideOpacity;
- targetEl.style.transform = `translate3d(${tx}px, ${ty}px, 0px)`;
- }
- };
- const setTransition = duration => {
- const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));
- transformElements.forEach(el => {
- el.style.transitionDuration = `${duration}ms`;
- });
- effectVirtualTransitionEnd({
- swiper,
- duration,
- transformElements,
- allSlides: true
- });
- };
- effectInit({
- effect: 'fade',
- swiper,
- on,
- setTranslate,
- setTransition,
- overwriteParams: () => ({
- slidesPerView: 1,
- slidesPerGroup: 1,
- watchSlidesProgress: true,
- spaceBetween: 0,
- virtualTranslate: !swiper.params.cssMode
- })
- });
- }
- export { EffectFade as default };
|