javascript - 滑动 slider 。带循环的 SlideTo 方法

标签 javascript swiper.js

我需要 Swiper slider 方面的帮助.

调整大小时无法将 slider 设置到初始位置。方法“swiper.slideTo(0)”不起作用。
也许有人知道如何解决这个问题。非常重要的一点是,当 slider “事件”时,循环必须处于事件状态。
或者如何将循环参数设置为断点))。
我在 Vue 项目上使用 vanilla Swiper。

switchInitSwiper - 调整大小时完全重新初始化的包装器;
检查器 - 仅启用/禁用某些属性

let self = this;
this.$refs.viewedSlider._SLIDES_COUNT_ = this.$refs.viewedSlider.querySelectorAll('.shop-item');
let viewed = switchInitSwiper({query: '(max-width:0px)', element: this.$refs.viewedSlider, thinArrow: true}, {
    spaceBetween: 0,
    slidesPerView: 4,
    loop: true,
    navigation: {
        nextEl: '.swiper-button-next.viewed',
        prevEl: '.swiper-button-prev.viewed',
    },
    breakpoints,
    on
});

let on = {resize: checker, init: checker};
let breakpoints = {
    0: {slidesPerView: 1},
    600: {slidesPerView: 2},
    800: {slidesPerView: 3},
    1100: {slidesPerView: 4}
};



function checker() {
    let slider = null;
    let currentPerView = this.passedParams.breakpoints[this.currentBreakpoint].slidesPerView;

    if (this.el === self.$refs.viewedSlider) {
        slider = self.$refs.viewedSlider;
    } else if(this.el === self.$refs.similarSlider) {
        slider = self.$refs.similarSlider;
    }

    if (currentPerView >= slider._SLIDES_COUNT_.length) {
        this.el.parentElement.classList.add('disable-slider');
        this.allowTouchMove = false;
        this.allowSlideNext = false;
        this.allowSlidePrev = false;

        this.slideTo(0, 1000);// <------ this don`t work
        //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

        console.log('O+_O');
    } else {
        this.el.parentElement.classList.remove('disable-slider');
        this.allowTouchMove = true;
        this.allowSlideNext = true;
        this.allowSlidePrev = true;
    }
    console.log(this);
}

最佳答案

来自the documentation you linked to在你的问题中:

mySwiper.slideToLoop(index, speed, runCallbacks);

Does the same as .slideTo but for the case when used with enabled loop.

您正在使用 loop: true 进行实例化,因此请尝试 this.slideToLoop(0);

关于javascript - 滑动 slider 。带循环的 SlideTo 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60401044/

相关文章:

javascript - swiper.js SVG 相互堆叠

javascript - Spectrum.js 在 angularjs 中使用时未初始化

Javascript - 过滤包含数组的对象,其值来自另一个数组

javascript - 为什么在这种情况下会出现 Stale Element 异常?

javascript - 如何禁用滑动 slider 中的拖动

javascript - 需要动态添加类名

javascript - 少于 5 张幻灯片时,Swiper slider 无法正常工作

javascript - Angular 4 Swiper集成(js初始化)

javascript - 从一个 div 中存在的三个 div 中选择前两个分区

javascript - MutationObserver 内的 document.querySelector : good or bad practice?