光滑的轮播功能不执行

时间:2015-04-17 19:16:40

标签: jquery slider

我正在实例化Slick滑块,但是我调用的任何函数都没有效果。从我的代码和控制台我尝试slickGoto,unslick等没有任何反应。我也试过简单地升级到光滑的1.5并且仍然遇到同样的问题。

在单步执行代码时,它会调用该函数,但似乎没有做任何事情。我用来调用它的代码显然有问题吗?我完全不知道在哪里看下一步

if (mysite.$carousel.length) {
    mysite.$carousel.slick({
        accessibility : true,
        autoplay : true,
        autoplaySpeed : 10000,
        pauseOnHover : false,
        fade : true,
        dots: true,
        appendArrows : $('.carousel-arrows-wrapper'),
        appendDots : $('.carousel-dots-wrapper')
    });
    $('.slick-pause').on('click', function(){
        var $pauseBtn = $(this);
        if ($pauseBtn.hasClass('paused')){
            mysite.$carousel.slickPlay();
            $pauseBtn.removeClass('paused');
        } else {
            mysite.$carousel.slickPause();
            $pauseBtn.addClass('paused');
        }
    });
}

正在改变暂停的'滑块的属性,但滑块实际上没有暂停..它继续播放。

从调查旋转木马的物体来看,它似乎并不是完全的'那里。如果我检查[0] .slick,即使滑块正确滑动,看起来没有任何项目正确填写。

slick object

代码适用于任何模型/原型(光滑对象将具有$ dots,$ list,$ nextArrow等设置)。但是当集成到专有CMS中时,它将失败。

这可能过于局部化了,但我真的想办法尝试找出原因。

1 个答案:

答案 0 :(得分:2)

不是拨打.slickPause().slickPlay(),而是致电.slick('slickPause').slick('slickPlay')

来自slick documentation

  

通过版本1.4中的光滑方法本身在光滑实例上调用方法

这是一个你可以玩的小提琴:http://jsfiddle.net/wd3eapez/1/

$('.slick-pause').on('click', function(){
    var $pauseBtn = $(this);
    if ($pauseBtn.hasClass('paused')){
        $(".slider").slick('slickPlay');
        $pauseBtn.removeClass('paused');
    } else {
        $(".slider").slick('slickPause');
        $pauseBtn.addClass('paused');
    }
});