Skip to content

Instantly share code, notes, and snippets.

@jjmss
Last active July 13, 2021 07:34
Show Gist options
  • Save jjmss/21d70fa5292127083df273d7c91e806f to your computer and use it in GitHub Desktop.
Save jjmss/21d70fa5292127083df273d7c91e806f to your computer and use it in GitHub Desktop.
Slick slider last/first slide fix for slider with animated transitions
jQuery(($) => {
const $slider = $('#slider');
$slider.slick({
centerMode: true,
slidesToShow: 3,
});
$slider.on('beforeChange', (event, slick, current, next) => {
const numSlides = slick.$slides.length;
if (next === 0) {
$($(slick.$slides)[current]).next().addClass('slick-cloned-center');
} else if (current === 0 && (next === numSlides - 1)) {
$($(slick.$slides)[current]).prev().addClass('slick-cloned-center');
}
})
$slider.on('afterChange', () => {
$('.slick-cloned-center').removeClass('slick-cloned-center');
})
})
/* styles that applies to all slides */
.slick-slide {
transition: .5s;
}
/* default style of slides that is not the current */
.slick-slide:is(:not(.slick-center, .slick-cloned-center), .slick-cloned.slick-center:not(.slick-cloned-center)) {
transform: scale(.9);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment