Add Flickity Navigation on Custom position
Show CodeHide Code
var flkty = new Flickity('.packages-slider', {
// options
imagesLoaded: true,
lazyLoad: 1,
pageDots: false,
cellAlign: 'left',
prevNextButtons: false
});
$(".slide-next").on("click", function () {
flkty.next();
});
$(".slide-prev").on("click", function () {
flkty.previous();
});
Disable carousel if single image
check how many "carousel-cell" there are. If there is only one image, doesnt call the flickity script and add a "src"
Show CodeHide Code
$('.entry-carousel').each(function () {
cellCount = $(this).find('div.carousel-cell').length;
if (cellCount > 1) {
$(this).addClass("multiple-images");
} else {
$(this).addClass("single-image");
$(this).find('.carousel-cell-image').each(function () {
imgUrl = $(this).attr('data-flickity-lazyload');
$(this).attr("src", imgUrl);
});
}
});
Infinity logo slider(s)*
Flickity infinity logo slider
*"pure" css alternative https://codepen.io/IrtezaAsad/pen/bGOLLvm
Show CodeHide Code
// speed of ticker
let tickerSpeed = 2;
let flickity = null;
let isPaused = false;
const slideshowEl = document.querySelector('.logoslider');
// functions
const update = () => {
if (isPaused) return;
if (flickity.slides) {
flickity.x = (flickity.x - tickerSpeed) % flickity.slideableWidth;
flickity.selectedIndex = flickity.dragEndRestingSelect();
flickity.updateSelectedSlide();
flickity.settle(flickity.x);
}
window.requestAnimationFrame(update);
};
const pause = () => {
isPaused = true;
};
const play = () => {
if (isPaused) {
isPaused = false;
window.requestAnimationFrame(update);
}
};
// create flickity instance
flickity = new Flickity(slideshowEl, {
autoPlay: false,
pageDots: false,
draggable: true,
wrapAround: true,
cellSelector: '.carousel-cell',
prevNextButtons: false,
selectedAttraction: 0.015,
friction: 0.25
});
flickity.x = 0;
// event listeners
slideshowEl.addEventListener('mouseenter', pause, false);
slideshowEl.addEventListener('focusin', pause, false);
slideshowEl.addEventListener('mouseleave', play, false);
slideshowEl.addEventListener('focusout', play, false);
flickity.on('dragStart', () => {
isPaused = true;
});
// start ticker
update();