SlickJS,unslick()删除问题

7 jquery window-resize

下午好,

我目前正在使用SlickJS Carousel,我正在尝试使用该unslick();代码段在窗口宽度大于375时删除多个项目.

我可以看到调整大小功能的工作方式,当窗口大小小于375 slick();轮播显示时没有任何问题.

如果有人能看到什么出错,请告诉我.

谢谢.

JS

$(document).ready(function () {
    // Header Slider 
    $('.touchslider_one').slick({
        autoplay: true,
        infinite: true,
        speed: 1500,
        autoplaySpeed: 3000,
        dots: false,
        slidesToShow: 1,
        slidesToScroll: 1,
        fade: true,
        cssEase: 'linear',
    });
    onresize();
    $(window).resize(function () {
        onresize();
    });
});
function onresize(){
    checkWidth();
}
function checkWidth() {
    if ($(window).width() < 376 ) {
        // Boxes
        $('.touchslider_fourth').slick({
            autoplay: false,
            infinite: true,
            speed: 1500,
            adaptiveHeight: true,
            dots: false,
            slidesToShow: 1,
            slidesToScroll: 1,
            cssEase: 'linear'
        });
        // Featured Products
        $('.touchslider_three').slick({
            autoplay: false,
            infinite: true,
            speed: 1500,
            adaptiveHeight: true,
            dots: false,
            slidesToShow: 1,
            slidesToScroll: 1,
            cssEase: 'linear'
        });
        // Logos 
        $('.touchslider_two').unslick();
        $('.touchslider_two').slick({
            autoplay: true,
            infinite: true,
            speed: 1500,
            autoplaySpeed: 6000,
            dots: false,
            slidesToShow: 1,
            slidesToScroll: 1,
            cssEase: 'linear'
        });
    } else {
        // Test
        console.log('Larger than 375');             

        // Remove
        $('.touchslider_fourth').unslick();
        $('.touchslider_three').unslick();
        $('.touchslider_two').unslick();
        // Rebuild
        $('.touchslider_two').slick({
            autoplay: true,
            infinite: true,
            speed: 1500,
            autoplaySpeed: 6000,
            dots: false,
            slidesToShow: 5,
            slidesToScroll: 5,
            cssEase: 'linear'
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 21

试试这个:

$('.your-slider').slick('unslick');
Run Code Online (Sandbox Code Playgroud)


小智 5

在与Ken Wheeler交谈并通读了Github的几个问题之后,wtran似乎找到了我所需要的答案,尽管我不得不进行调整以符合我的要求,但这在第一次还是很有效的。

现在,我可以unslick();在窗口调整大小超过特定宽度时触发,并在窗口调整大小小于特定宽度时重建轮播。

我还要感谢Ken Wheeler的推文和建议!

JS

$(document).ready(function () {
    touchsliderone();
    onresize();
    $(window).resize(function () {
        onresize();
    });
});
// Resize 
function onresize () {
    touchslidertwo();
    touchsliderthree();
    touchsliderfour();
}
// Header Carousel
function touchsliderone() {
    $('.touchslider_one').slick({
        autoplay: true,
        infinite: true,
        speed: 1500,
        autoplaySpeed: 3000,
        dots: false,
        slidesToShow: 1,
        slidesToScroll: 1,
        fade: true,
        cssEase: 'linear',
    });
}
// Boxes Carousel
function touchsliderfour() {
 var $touchsliderfour = $('.touchslider_four');
    if ($(window).width() < 376) {
      if($touchsliderfour.hasClass('slick-initialized')) {
        $touchsliderfour.unslick();
      }
        $touchsliderfour.slick({
            autoplay: false,
            infinite: true,
            speed: 1500,
            adaptiveHeight: true,
            dots: false,
            slidesToShow: 1,
            slidesToScroll: 1,
            cssEase: 'linear'
        });
    } else {
      if($touchsliderfour.hasClass('slick-initialized')) {
        $touchsliderfour.unslick();
      }
    }
}
// Featured Products Carousel
function touchsliderthree() {
    var $touchsliderthree = $('.touchslider_three');
    if ($(window).width() < 376) {
      if($touchsliderthree.hasClass('slick-initialized')) {
        $touchsliderthree.unslick();
      }
        $touchsliderthree.slick({
            autoplay: false,
            infinite: true,
            speed: 1500,
            adaptiveHeight: true,
            dots: false,
            slidesToShow: 1,
            slidesToScroll: 1,
            cssEase: 'linear'
        });
    } else {
      if($touchsliderthree.hasClass('slick-initialized')) {
        $touchsliderthree.unslick();
      }
    }
}
// Logos Carousel 
function touchslidertwo() {
    var $touchslidertwo = $('.touchslider_two');
    if ($(window).width() < 376) {
      if($touchslidertwo.hasClass('slick-initialized')) {
        $touchslidertwo.unslick();
      }
        $touchslidertwo.slick({
            autoplay: true,
            infinite: true,
            speed: 1500,
            autoplaySpeed: 6000,
            dots: false,
            slidesToShow: 1,
            slidesToScroll: 1,
            cssEase: 'linear'
        });
    } else {
      if($touchslidertwo.hasClass('slick-initialized')) {
        $touchslidertwo.unslick();
      }
        $touchslidertwo.slick({
            autoplay: true,
            infinite: true,
            speed: 1500,
            autoplaySpeed: 6000,
            dots: false,
            slidesToShow: 5,
            slidesToScroll: 5,
            cssEase: 'linear'
        });
    }
}
Run Code Online (Sandbox Code Playgroud)