diff --git a/src/swiper/swiper-item.vue b/src/swiper/swiper-item.vue index 12c2a32b5..f8663bf1d 100644 --- a/src/swiper/swiper-item.vue +++ b/src/swiper/swiper-item.vue @@ -29,11 +29,7 @@ const direction = computed(() => (isVertical.value ? 'Y' : 'X')); const calcTranslateStyle = (index: number, activeIndex: number) => { const distance = root.value?.[isVertical.value ? 'offsetHeight' : 'offsetWidth'] ?? 0; const lastItemIndex = items.value.length - 1; - let step = Math.min(index + 1, Math.abs(activeIndex - index)); - - if (activeIndex === index) step = 0; - else if (index === activeIndex + 1 || (loop && activeIndex === lastItemIndex && index === 0)) step = 1; - else if (index === activeIndex - 1 || (loop && activeIndex === 0 && index === lastItemIndex)) step = -1; + const step = activeIndex === lastItemIndex && index === 0 ? 1 : index - activeIndex; rootStyle.value = `transform: translate${direction.value}(${step * distance}px)`; };