活动按钮状态流转
This commit is contained in:
51
uni_modules/zebra-swiper/libs/loop/loopCreate.js
Normal file
51
uni_modules/zebra-swiper/libs/loop/loopCreate.js
Normal file
@@ -0,0 +1,51 @@
|
||||
export default function loopCreate() {
|
||||
const swiper = this;
|
||||
const {
|
||||
params,
|
||||
$wrapperEl,
|
||||
native
|
||||
} = swiper; // Remove duplicated slides
|
||||
const $selector = $wrapperEl;
|
||||
let slides = native.children;
|
||||
|
||||
if (params.loopFillGroupWithBlank) {
|
||||
const blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;
|
||||
|
||||
if (blankSlidesNum !== params.slidesPerGroup) {
|
||||
native.loopBlankShow = true;
|
||||
native.loopBlankNumber = blankSlidesNum;
|
||||
}
|
||||
}
|
||||
|
||||
if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;
|
||||
swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));
|
||||
swiper.loopedSlides += params.loopAdditionalSlides;
|
||||
|
||||
if (swiper.loopedSlides > slides.length) {
|
||||
swiper.loopedSlides = slides.length;
|
||||
}
|
||||
const prependSlides = [];
|
||||
const appendSlides = [];
|
||||
slides.forEach((el, index) => {
|
||||
const slide = el;
|
||||
if (index < slides.length && index >= slides.length - swiper.loopedSlides) {
|
||||
prependSlides.push(el);
|
||||
}
|
||||
|
||||
if (index < swiper.loopedSlides) {
|
||||
appendSlides.push(el);
|
||||
}
|
||||
});
|
||||
let list = [...swiper.native.value];
|
||||
let newList = [...list];
|
||||
swiper.originalDataList = [...swiper.native.value];
|
||||
for (let i = 0; i < appendSlides.length; i += 1) {
|
||||
newList.push(list[appendSlides[i].index]);
|
||||
}
|
||||
|
||||
for (let i = prependSlides.length - 1; i >= 0; i -= 1) {
|
||||
newList.unshift(list[prependSlides[i].index]);
|
||||
}
|
||||
swiper.native.$emit("input", newList)
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user