1

使用 idangerous 的 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();
    });

上述的多种变体。我也试过禁用循环。自动播放不会减慢、停止或其他任何事情。如果我 console.log(mySwiper.params.autoplay); 它确实表明该值已更新,它只是没有做任何事情;(

我对此完全不感兴趣吗?或者你不能在初始化后改变选项吗?

4

1 回答 1

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();
});
于 2013-07-24T15:22:58.423 回答