使用 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);它确实表明该值已更新,它只是没有执行任何操作;(
我完全不喜欢这个吗?或者初始化后不能更改选项吗?
最佳答案
好吧,看来你做得对。但很少有东西。
- 删除此行mySwiper.reInit();
- 如果您需要在点击分页后再次启动自动播放,则需要调用 startAutoPlay,而不是 reInit
- 使用 swiper 的 dev 版本,因为在实际稳定版本中 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();
});
关于jquery - 危险的刷卡者;即时调整选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17837303/