危险的傻瓜;动态调整选项?

时间:2013-07-24 14:41:46

标签: jquery slider swiper

使用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);它确实表明价值已经更新,它只是没有做任何事情;(

我完全不喜欢这个吗?或者,您可以在初始化后更改选项吗?

1 个答案:

答案 0 :(得分:4)

好的,好像你做得对。但很少有事情。

  • 删除此行 mySwiper.reInit();
  • 如果您需要在点击分页后再次启动自动播放,则需要调用startAutoPlay,而不是reInit
  • 使用swiper版本的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();
});