slick-track width calculation
HTML
<script src="https://rawgithub.com/kenwheeler/slick/master/slick/slick.min.js"></script>
<link rel="stylesheet" href="https://rawgit.com/kenwheeler/slick/master/slick/slick.css">
<aside class="container">
<div class="entry"><div class="inner">1</div></div>
<div class="entry"><div class="inner">2</div></div>
<div class="entry"><div class="inner">3</div></div>
<div class="entry"><div class="inner">4</div></div>
<div class="entry"><div class="inner">5</div></div>
<div class="entry"><div class="inner">6</div></div>
<div class="entry"><div class="inner">7</div></div>
<div class="entry"><div class="inner">8</div></div>
<div class="entry"><div class="inner">9</div></div>
</aside>
CSS
.container{
height: 300px;
}
.slick-track{
background: black;
}
.inner {
margin: 0 15px 0 0;
background: coral;
height: 300px;
transition: margin 0.2s ease;
-moz-transition: margin 0.2s ease;
-ms-transition: margin 0.2s ease;
-webkit-transition: margin 0.2s ease;
}
.atEnd .inner { margin: 0 0 0 15px; }
JavaScript
var $slider = $(".container")
$slider.slick({
slidesToShow: 3,
slidesToScroll: 3,
infinite: false,
variableWidth: false
})
.on("beforeChange", function(e, slick, current, next) {
if( next >= (slick.slideCount - slick.options.slidesToShow)) {
$slider.addClass("atEnd");
} else {
$slider.removeClass("atEnd");
}
});