Skip to content

Commit 244cc2e

Browse files
authored
fix(core): Change opacityString and scaleString to originalProgress (#5095)
* feat(core): add originalProgress * fix(core): use originalProgress to opacity and scale
1 parent 26340c4 commit 244cc2e

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

src/core/update/updateSlidesProgress.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export default function updateSlidesProgress(translate = (this && this.translate
44
const swiper = this;
55
const params = swiper.params;
66

7-
const { slides, rtlTranslate: rtl } = swiper;
7+
const { slides, rtlTranslate: rtl, snapGrid } = swiper;
88

99
if (slides.length === 0) return;
1010
if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();
@@ -28,6 +28,12 @@ export default function updateSlidesProgress(translate = (this && this.translate
2828
const slideProgress =
2929
(offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) /
3030
(slide.swiperSlideSize + params.spaceBetween);
31+
const originalSlideProgress =
32+
(offsetCenter -
33+
snapGrid[0] +
34+
(params.centeredSlides ? swiper.minTranslate() : 0) -
35+
slideOffset) /
36+
(slide.swiperSlideSize + params.spaceBetween);
3137
const slideBefore = -(offsetCenter - slideOffset);
3238
const slideAfter = slideBefore + swiper.slidesSizesGrid[i];
3339
const isVisible =
@@ -40,6 +46,7 @@ export default function updateSlidesProgress(translate = (this && this.translate
4046
slides.eq(i).addClass(params.slideVisibleClass);
4147
}
4248
slide.progress = rtl ? -slideProgress : slideProgress;
49+
slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;
4350
}
4451
swiper.visibleSlides = $(swiper.visibleSlides);
4552
}

src/modules/effect-creative/effect-creative.js

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ export default function EffectCreative({ swiper, extendParams, on }) {
4242
Math.max($slideEl[0].progress, -params.limitProgress),
4343
params.limitProgress,
4444
);
45+
const originalProgress = Math.min(
46+
Math.max($slideEl[0].originalProgress, -params.limitProgress),
47+
params.limitProgress,
48+
);
49+
4550
const offset = $slideEl[0].swiperSlideOffset;
4651
const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0];
4752
const r = [0, 0, 0];
@@ -79,13 +84,13 @@ export default function EffectCreative({ swiper, extendParams, on }) {
7984
const translateString = t.join(', ');
8085
const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`;
8186
const scaleString =
82-
progress < 0
83-
? `scale(${1 + (1 - data.scale) * progress * multiplier})`
84-
: `scale(${1 - (1 - data.scale) * progress * multiplier})`;
87+
originalProgress < 0
88+
? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})`
89+
: `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;
8590
const opacityString =
86-
progress < 0
87-
? 1 + (1 - data.opacity) * progress * multiplier
88-
: 1 - (1 - data.opacity) * progress * multiplier;
91+
originalProgress < 0
92+
? 1 + (1 - data.opacity) * originalProgress * multiplier
93+
: 1 - (1 - data.opacity) * originalProgress * multiplier;
8994
const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`;
9095

9196
// Set shadows

0 commit comments

Comments
 (0)