Javascript bxSlider-使用寻呼机时幻灯片之间的停顿错误

Javascript bxSlider-使用寻呼机时幻灯片之间的停顿错误,javascript,jquery,slider,bxslider,Javascript,Jquery,Slider,Bxslider,我正在运行最新版本的(4.2.14),除了寻呼机之外,一切都很好 使用寻呼机在幻灯片之间切换时,暂停时间比应该的时间短得多: 复制步骤: 打开小提琴: 当幻灯片#2出现时,等待约3-4秒 通过单击寻呼机切换回幻灯片#1 暂停应该持续5秒(就像在“自动”模式下),但只能持续1-2秒 我认为每次使用寻呼机选择幻灯片时,暂停倒计时应重置为5秒 我花了一段时间试图通过使用clearInterval(slider.interval)在jquery.bxslider.js中的clickPagerBind(

我正在运行最新版本的(4.2.14),除了寻呼机之外,一切都很好

使用寻呼机在幻灯片之间切换时,暂停时间比应该的时间短得多:

复制步骤:

  • 打开小提琴:
  • 当幻灯片#2出现时,等待约3-4秒
  • 通过单击寻呼机切换回幻灯片#1
  • 暂停应该持续5秒(就像在“自动”模式下),但只能持续1-2秒
  • 我认为每次使用寻呼机选择幻灯片时,暂停倒计时应重置为5秒

    我花了一段时间试图通过使用
    clearInterval(slider.interval)在jquery.bxslider.js中的
    clickPagerBind()
    函数中找到解决方案
    来修复此问题,但它不起作用(滑块在此之后卡住)

    用于加载bxSlider的代码(也可在我的上获得):


    我非常感谢您在这方面的帮助。

    速度:1000可能太快,无法完成转换,无法启动或结束
    startAuto()
    stopAuto()
    方法。为了控制转换期间调用的方法,我们可以使用来自的回调。制作一个自定义函数并在
    onSlideAfter
    onSlideBefore
    上调用它。下面的演示在SlideAfter上调用函数pagerFix()

    function pagerFix($bx, prv, nxt) {
      bx.stopAuto(true);
      bx.goToSlide(nxt);
      bx.stopAuto(false);
      bx.startAuto(true);
    }
    
    初始化
    .bxSlider()
    时,请确保引用它,以便可以调用这些方法

    let bx = $('.bxslider').bxSlider(...
    
    (在滑动之前使用

    演示 (在滑动后使用
    让bx=$('.bxslider').bxslider({
    滑动宽度:800,
    是的,
    速度:1000,
    暂停:5000,
    控件:false,
    onSlideAfter:pagerFix
    });
    函数pagerFix($bx、prv、nxt){
    bx.stopAuto(真);
    戈托利德(nxt);
    bx.stopAuto(假);
    bx.startAuto(正确);
    }
    
    宽度:800px;高度:250px;“>
    

  • 我喜欢这个优雅的解决方案,让我的日子变得美好;-)非常感谢@zer00ne!
    let bx = $('.bxslider').bxSlider(...