2015-07-02 40 views
1

当试图暂停初始化侦听器“光滑(‘slickPause’)”内的滑动件的方法不与错误油滑初始化 - slickPause未定义

Uncaught TypeError: Cannot read property 'slickPause' of undefined 

工作的代码的示例段子:

var opts = { 
      autoplay: true, 
      autoplaySpeed: 5000, 
      speed: 750, 
      fade: true, 
      arrows: false, 
      appendDots: $('.nav-wrap div'), 
      dots: true, 
}; 

$(elem).on('init', function(event, slick){ 
      var slider = slick.$slider; 
      slider.slick('slickPause'); 
}); 

$(elem).slick(opts); 

看起来应该有一个准备好的事件,但没有任何想法如何解决这个问题?

需要此功能的目的是检测第一张幻灯片是否为视频,如果是这样,请暂停滑块并播放视频,然后继续。

感谢, 院长

回答

2

我有一个艰难的时间,这一点,似乎什么是错与初始化或者也许我没有完全理解,但华而不实的暂停似乎工作在其他情况下,罚款(如“改动后的“)。

也许把这个问题带到Ken Wheeler

根据你说的你想要做的事情,也许你可以尝试一种不同的方式更多一点光滑?

$(elem).each(function(){ 
    var $this = $(this); 

    $this.slick(opts); 

    var iframe = $this.find('.slick-slide:first-child').find('iframe'); 

    if(iframe.length > 0){ 
     $this.slick('slickPause'); 
    } 
}); 

Codepen

+0

感谢您的答复,我很高兴,这不只是我。我已经提出了与Slick的问题(https://github.com/kenwheeler/slick/issues/1501)。这将工作,但问题是我无法知道何时滑块准备好暂停? –

+0

假设第一张幻灯片是视频,这会立即暂停转盘。如果它不总是第一张幻灯片,您可以使用上面的内容,然后添加一个afterChange事件(这对我有用),然后再进行类似的检查和暂停。唯一需要处理的是玩家完成恢复传送带时的回叫。 –