Проблема возникает из-за того, что все изображения получают одинаковый z-индекс.
Мой код не работает при переходе от первого слайда к последнему слайду (слайд вправо), но это то, с чего нужно начинать.
прежде всего удалите z-index из этого селектора: .slideshow .item
.
Затем добавьте преобразование к каждому изображению, чтобы каждое изображение начиналось с этого масштаба (возможно, добавьте имя класса для каждого изображения и затем измените селектор):
img {
transform: scale(1.3);
}
Добавить функцию для получения скользящего индекса (есть клонированные элементы сликов, поэтому я использую селектор, который получает неклонированные слики):
function getSlickByIndex(index) {
return $('.item:not(.slick-cloned)[data-slick-index="' + index + '"]');
}
Затем добавьте событие init
(логика делает первый слайд, чтобы получить больший zIndex = 1 от всех его братьев и сестер, имеющих zIndex = 0), и beforeChange
(логика делает следующее пятно, чтобы получить больший индекс и остальные, чтобы получить меньший индекс):
$('.home-slider').on('init', function(event, slick){
getSlickByIndex(0).css('zIndex', '1');
}).on('beforeChange', function(event, slick, currentSlide, nextSlide){
getSlickByIndex(currentSlide).css('zIndex', '0');
getSlickByIndex(nextSlide).css('zIndex', '1');
});
Это рабочая скрипка: https://codepen.io/alonsh/pen/JQmZjj