@@ -2,11 +2,13 @@ export default function Fade({ swiper, extendParams, on }) {
2
2
extendParams ( {
3
3
fadeEffect : {
4
4
crossFade : false ,
5
+ transformEl : null ,
5
6
} ,
6
7
} ) ;
7
8
8
9
const setTranslate = ( ) => {
9
10
const { slides } = swiper ;
11
+ const params = swiper . params . fadeEffect ;
10
12
for ( let i = 0 ; i < slides . length ; i += 1 ) {
11
13
const $slideEl = swiper . slides . eq ( i ) ;
12
14
const offset = $slideEl [ 0 ] . swiperSlideOffset ;
@@ -20,7 +22,9 @@ export default function Fade({ swiper, extendParams, on }) {
20
22
const slideOpacity = swiper . params . fadeEffect . crossFade
21
23
? Math . max ( 1 - Math . abs ( $slideEl [ 0 ] . progress ) , 0 )
22
24
: 1 + Math . min ( Math . max ( $slideEl [ 0 ] . progress , - 1 ) , 0 ) ;
23
- $slideEl
25
+
26
+ const $translateTarget = params . transformEl ? $slideEl . find ( params . transformEl ) : $slideEl ;
27
+ $translateTarget
24
28
. css ( {
25
29
opacity : slideOpacity ,
26
30
} )
@@ -29,10 +33,13 @@ export default function Fade({ swiper, extendParams, on }) {
29
33
} ;
30
34
const setTransition = ( duration ) => {
31
35
const { slides, $wrapperEl } = swiper ;
32
- slides . transition ( duration ) ;
36
+ const { transformEl } = swiper . params . fadeEffect ;
37
+ const $transitionElements = transformEl ? slides . find ( transformEl ) : slides ;
38
+ $transitionElements . transition ( duration ) ;
33
39
if ( swiper . params . virtualTranslate && duration !== 0 ) {
34
40
let eventTriggered = false ;
35
- slides . transitionEnd ( ( ) => {
41
+ const $transitionEndTarget = transformEl ? slides . find ( transformEl ) : slides ;
42
+ $transitionEndTarget . transitionEnd ( ( ) => {
36
43
if ( eventTriggered ) return ;
37
44
if ( ! swiper || swiper . destroyed ) return ;
38
45
eventTriggered = true ;
@@ -53,7 +60,7 @@ export default function Fade({ swiper, extendParams, on }) {
53
60
slidesPerGroup : 1 ,
54
61
watchSlidesProgress : true ,
55
62
spaceBetween : 0 ,
56
- virtualTranslate : true ,
63
+ virtualTranslate : ! swiper . params . cssMode ,
57
64
} ;
58
65
Object . assign ( swiper . params , overwriteParams ) ;
59
66
Object . assign ( swiper . originalParams , overwriteParams ) ;
0 commit comments