原因在於,當從「first to last」切換時,Slick會更改幻燈片元素的DOM順序。當dom元素被刪除並添加回去時,轉換不會啓動...您可以通過使用javascript和Slicks beforeChange
和afterChange
事件來解決此問題,而不是純粹的CSS解決方案。我舉了一個例子,雖然我做的例子也稍微改變了效果(中間的幻燈片不會變寬,直到它在中間,例如變化後)。也許用Slicks,下一個和上一個幻燈片參數可以使它像你的例子一樣工作,沒有時間去更多地研究它。
https://jsfiddle.net/6d91cqoq/2/
更改您的例子進行:
//Added my own "active" class, so it does not to interfere with slicks active class
.slick-slide.active {
opacity: 1;
transform: scale(1.50);
}
JS
//make current center active after initialization
$('.slick-center').addClass('active');
//before slide change, make all "inactive"
$('.center').on('beforeChange', function(event, slick, index){
$('.slick-slide').removeClass('active');
});
//after change make the center one "active"
$('.center').on('afterChange', function(event, slick, index){
$(slick.$slides[index]).addClass('active');
});