【问题标题】:Check condition before changing slide in Slick Slider在 Slick Slider 中更改幻灯片之前检查条件
【发布时间】:2015-05-01 21:55:10
【问题描述】:

我正在使用这个流行的轮播 (http://kenwheeler.github.io/slick/)。

我在每张幻灯片中放置了某些元素。在移动到下一张幻灯片之前,用户必须至少选择其中一个元素。但我无法弄清楚如何通过在选择元素之前单击“下一个”箭头来防止用户手动移动到下一张幻灯片。

我知道可以禁用“下一张/上一张”箭头,但我不想这样做,因为用户可能想返回上一张幻灯片来更改他的选项。

我知道一种选择是禁用默认箭头并引入我自己的上一个/下一个箭头,然后将幻灯片更改功能与条件检查绑定到它。但是,如果此滑块中有一些内置选项(我无法弄清楚),那就太好了,因为它可以最大限度地减少我的工作量。

【问题讨论】:

  • api 在这里:github.com/kenwheeler/slick。您需要beforeChange 事件可能与slickPause 方法结合使用
  • slickPause 只停止自动播放,不播放下一张幻灯片。

标签: javascript jquery html css carousel


【解决方案1】:

我制作了一个快速修改版本的 Slick,它允许在下一步进行条件检查,请参阅:http://jsfiddle.net/alan0xd7/dhxhv5gg/

基本上,如果fnCanGoNext 返回true,滑块只会转到下一个。

我实际上只在小提琴的第 700 行周围添加了一行。它不能处理在第一张幻灯片上单击“上一张”之类的事情,但您可能可以从这里开始工作。

由于 Slick 是一个开源项目,请不要害怕更改代码并对其进行调整以适应您的需求。看看幕后是如何运作的很有趣。

希望这会有所帮助!

【讨论】:

  • 我正在我的项目中修改您的代码,但它不起作用。基本上,我在每张幻灯片中有几个单选按钮,每个单选按钮都有一个类“r-button”。我正在写 var checkbox = currentSlide.find(".r-button"); if (checkbox.is(':checked')) { return true; }。但这不起作用,因为即使选中了单选按钮,fnCanGoNext 也总是返回 false。我哪里错了?
  • 感谢您的解决方案。为我节省了几个小时!
  • @alan0xd7 我非常需要你的帮助。首先感谢 jsfiddle,我从这里开始检查条件,然后单击光滑滑块中的箭头。现在,我很头疼找到一种方法来检查无限中心模式滑块中的滑动单击情况。我想要做的是检查滑动点击、停止或让光滑改变幻灯片的条件。我需要您为箭头建议的相同行为,但对于单击事件。请帮帮我
猜你喜欢
  • 2018-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多