【问题标题】:Disable mousewheel debounce for swiper.js为 swiper.js 禁用鼠标滚轮去抖动
【发布时间】:2020-07-06 05:27:15
【问题描述】:

我正在尝试使用swiper.js 创建一个可垂直滚动和拖动的列表,并且我几乎已经达到了目标。只剩下一个问题了:

鼠标滚轮滚动感觉很迟钝。每次滚动后,在注册下一个滚动之前会有一小段延迟。在此处查看行为:

http://idangero.us/swiper/demos/20-mousewheel-control.html

这是我目前的配置:

this.swiper = new Swiper(this.$el, {
    direction: 'vertical',
    centeredSlides: true,
    spaceBetween: 0,
    grabCursor: true,
    slidesPerView: 'auto',
    mousewheelControl: true,
}

我还没有找到禁用此功能的方法。唯一听起来有帮助的属性mousewheelSensitivity 似乎根本不会改变行为。

这甚至可能吗,还是我需要更改 swiper.js 内部才能使其工作?

【问题讨论】:

  • 在哪里可以找到解决方案?
  • 不,我不记得我最后做了什么……
  • 我能够修复它,我浏览了源代码并将以下行更改为 if (new window.Date().getTime() - x.mousewheel.lastScrollTime > 60)更短的时间范围(~30ms)
  • 啊,所以它是硬编码的?太糟糕了……

标签: javascript mousewheel swiper


【解决方案1】:

我有同样的问题,但还没有找到最终答案,但是,我注意到添加下一个选项会有所帮助:

mousewheelSensitivity: 0,
mousewheelReleaseOnEdges: true,

如果您找到任何其他解决方案,请与我们分享。

【讨论】:

    【解决方案2】:

    鼠标滚轮方法和属性:

    function disableScrolling() {
      swiper.mousewheel.disable();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多