swiper
Version:
Most modern mobile touch slider and framework with hardware accelerated transitions
2 lines • 1.23 kB
JavaScript
import{e as effectInit}from"../shared/effect-init.min.mjs";import{e as effectTarget}from"../shared/effect-target.min.mjs";import{e as effectVirtualTransitionEnd}from"../shared/effect-virtual-transition-end.min.mjs";import{g as getSlideTransformEl}from"../shared/utils.min.mjs";function EffectFade({swiper:e,extendParams:t,on:s}){t({fadeEffect:{crossFade:!1}});effectInit({effect:"fade",swiper:e,on:s,setTranslate:()=>{const{slides:t}=e,s=e.params.fadeEffect;for(let a=0;a<t.length;a+=1){const t=e.slides[a];let r=-t.swiperSlideOffset;e.params.virtualTranslate||(r-=e.translate);let i=0;e.isHorizontal()||(i=r,r=0);const f=e.params.fadeEffect.crossFade?Math.max(1-Math.abs(t.progress),0):1+Math.min(Math.max(t.progress,-1),0),n=effectTarget(s,t);n.style.opacity=f,n.style.transform=`translate3d(${r}px, ${i}px, 0px)`}},setTransition:t=>{const s=e.slides.map(e=>getSlideTransformEl(e));s.forEach(e=>{e.style.transitionDuration=`${t}ms`}),effectVirtualTransitionEnd({swiper:e,duration:t,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!e.params.cssMode})})}export{EffectFade as default};
//# sourceMappingURL=effect-fade.min.mjs.map