UNPKG

@zebra-ui/swiper

Version:

专为多端设计的高性能swiper轮播组件库,支持多种复杂的 3D swiper轮播效果。

44 lines (36 loc) 1.16 kB
import type { CheckOverflow, CheckOverflowModule } from '../../../types/components/core/check-overflow/index' import type { SwiperInterface } from '../../../types/swiper-class' const checkOverflow: CheckOverflow = function (this: SwiperInterface) { const swiper = this const { isLocked: wasLocked, params } = swiper const { slidesOffsetBefore } = params if (slidesOffsetBefore) { const lastSlideIndex = swiper.slides.length - 1 const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2 swiper.isLocked = swiper.size > lastSlideRightEdge } else { swiper.isLocked = swiper.snapGrid.length === 1 } if (params.allowSlideNext === true) { swiper.allowSlideNext = !swiper.isLocked } if (params.allowSlidePrev === true) { swiper.allowSlidePrev = !swiper.isLocked } if (wasLocked && wasLocked !== swiper.isLocked) { swiper.isEnd = false } if (wasLocked !== swiper.isLocked) { swiper.emit(swiper.isLocked ? 'lock' : 'unlock') } } const overflow: CheckOverflowModule = { checkOverflow } export default overflow