【问题标题】:Slick.js: Slick slider not dragging properly (snapping back to first slide)Slick.js:滑动滑块未正确拖动(快速回到第一张幻灯片)
【发布时间】:2019-01-29 18:13:28
【问题描述】:

问题

我正在一个 Wordpress 网站上设置一个光滑的滑块/轮播。一切正常/显示完美,但滑块已停止正确拖动。

我仍然可以用鼠标物理拖动滑块,它会按原样进行动画处理,但是当我放开滑块时,它只会弹回第一张幻灯片,并且永远不会让我通过拖动从第一张幻灯片向后或向前导航

使用 prev 和 next 箭头可以完美地工作,使用键盘上的箭头键也是如此,这让我更加困惑为什么拖动不起作用。

我需要什么

修复了拖动无法正常工作的问题,以便我可以正确浏览滑块。

**当我在移动设备上滑动滑块时,滑块也会以相同的方式损坏。

我的代码

我目前无法将您链接到滑块,因为它位于私人网站上,但我会尝试将所有我认为相关的代码放在下面:

(我使用的 slick.min.js 文件和 slick.css 文件仅来自下载)

HTML

<div class="slider">
    <div class="slider__item">
        <a href="">
        </a>
    </div>
</div>
  • 有多个 slider__item,但它们是在帖子的 WP 循环中创建的,所以我只包含了一个
  • 省略幻灯片中的内容,以便这篇文章不会太长,但想象一下 &lt;p&gt;&lt;div&gt; 标记文本/标题/图像等...

JS

$('.slider').slick({
    infinite: true,
    slidesToScroll: 1,
    variableWidth: true,
    dots: false,
    arrows: true,
    focusOnSelect: false,
    prevArrow: $('.home-posts__arrow__prev'),
    nextArrow: $('.home-posts__arrow__next'),
});

CSS

.slider {
    position: absolute;
    left: calc(33.333333% + 30px);
}

.slider__item {
    max-width: 290px;
    margin: 0px 15px;
}

参考图片

滑块位于内容的右侧,“Test post 4”是它始终快速返回的第一张幻灯片。蓝色方块是 temp prev 和 next 按钮

我希望这是足够的信息,但如果您需要其他任何内容,请发表评论,提前谢谢!

【问题讨论】:

    标签: javascript jquery slider slick.js


    【解决方案1】:

    这是一个老问题,但我遇到了同样的问题。使用 Slick 滑块拖动幻灯片不起作用,幻灯片会弹回第一张幻灯片。我的解决方法是将touchThreshold 设置为更高的数字。

    来自文档:

    touchThreshold:要推进幻灯片,用户必须滑动 (1/touchThreshold) * 滑块宽度的长度。 https://github.com/kenwheeler/slick/#settings

    默认值为 5。我将其更改为 100 并且拖动幻灯片再次起作用:

    touchThreshold:100
    

    【讨论】:

      【解决方案2】:

      您是否尝试过添加swipeToSlide 选项并将其设置为true

      今天遇到了同样的要求,也许这会对未来的搜索者有所帮助。

      【讨论】:

        【解决方案3】:

        尝试注释掉或删除该行:

        //max = _.slideCount * 2;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-10-25
          • 1970-01-01
          • 1970-01-01
          • 2014-10-26
          • 2022-11-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多