禁用 onSlideChangeEnd 侦听器
Disable onSlideChangeEnd listener
我想在我的 Swiper 组件上禁用我的 onSlideChangeEnd 回调。
如果用户单击箭头,那么我想执行我的 onSlideChangeEnd 回调方法,但是如果我想以编程方式滑动到特定图像,我不想调用 onSlideChangeEnd。否则我会遇到混乱的侦听器循环情况。
我该怎么做?
我正在考虑拥有某种旗帜。如果此标志设置为 false,则不会执行回调代码,如下所示:
galleryTop = new Swiper('.gallery-top-product-view', { //'.gallery-top'
nextButton: '.swiper-button-next',
prevButton: '.swiper-button-prev',
spaceBetween: 10,
onSlideChangeEnd: function (swiper) {
if(someFlag)
doIt();
}
});
但是回调对象似乎引用了旧变量值。当我这样使用 'someFlag' 时,它似乎有点随机:
someFlag= true;
galleryTop.slideTo(key);
someFlag= false;
我是否遗漏了一些有关如何禁用侦听器的基本知识?
根据 swiper 文档 (http://www.idangero.us/swiper/api/),您可以将第三个参数 runCallbacks
作为 false
传递,以防止执行回调:
galleryTop.slideTo(key, speed, false);
我想在我的 Swiper 组件上禁用我的 onSlideChangeEnd 回调。
如果用户单击箭头,那么我想执行我的 onSlideChangeEnd 回调方法,但是如果我想以编程方式滑动到特定图像,我不想调用 onSlideChangeEnd。否则我会遇到混乱的侦听器循环情况。
我该怎么做?
我正在考虑拥有某种旗帜。如果此标志设置为 false,则不会执行回调代码,如下所示:
galleryTop = new Swiper('.gallery-top-product-view', { //'.gallery-top'
nextButton: '.swiper-button-next',
prevButton: '.swiper-button-prev',
spaceBetween: 10,
onSlideChangeEnd: function (swiper) {
if(someFlag)
doIt();
}
});
但是回调对象似乎引用了旧变量值。当我这样使用 'someFlag' 时,它似乎有点随机:
someFlag= true;
galleryTop.slideTo(key);
someFlag= false;
我是否遗漏了一些有关如何禁用侦听器的基本知识?
根据 swiper 文档 (http://www.idangero.us/swiper/api/),您可以将第三个参数 runCallbacks
作为 false
传递,以防止执行回调:
galleryTop.slideTo(key, speed, false);