危险的雨刷 即时调整选项?

Mik*_*ney 1 jquery slider swiper

我一直试图使用危险的Swiper,在单击事件中即时更改选项。例如,我想在单击分页按钮后停止自动播放。

我已经尝试过从API进行的操作,例如:

var mySwiper = new Swiper('.index-slider', { 
        mode: 'horizontal',
        paginationClickable: true,
        pagination: '.pagination',
        autoplay: 2000,
        loop: true
    });

    $('.pagination').on('click',function() {
        mySwiper.stopAutoplay();
        mySwiper.params.autoplay = 10000
        mySwiper.reInit();
    });
Run Code Online (Sandbox Code Playgroud)

以上的多种变化。我也尝试禁用循环。自动播放不会减慢,停止或停止任何动作。如果我console.log(mySwiper.params.autoplay); 它确实表明该值已更新,它什么也不做;(

我完全不赞成这个吗?还是初始化后不能更改选项?

Vla*_*idi 5

好的,看来您做对了。但是很少。

  • 删除此行mySwiper.reInit();
  • 如果您需要在单击分页后再次开始自动播放,则需要调用startAutoPlay而不是reInit
  • 使用开发者版本的swiper,因为在实际的稳定版本中stopAutoplay无法正常工作

因此,您的代码应类似于:

var mySwiper = new Swiper('.index-slider', { 
    mode: 'horizontal',
    paginationClickable: true,
    pagination: '.pagination',
    autoplay: 2000,
    loop: true
});

$('.pagination').on('click',function() {
    mySwiper.stopAutoplay();
    mySwiper.params.autoplay = 10000
    mySwiper.startAutoplay();
});
Run Code Online (Sandbox Code Playgroud)