「ええ!?複数設置したslickスライダーのスライド開始タイミングをずらす!?」
「できらぁっ!」
実装
単純にsettimeoutでslick()の実行タイミングを遅らせるだけでは、slick()が実行されていない段階のレイアウト崩れが発生してしまう。
というわけで、「読み込まれてから〇秒後に、自動スライドを開始する」作戦でいきましょう。
こうです。
$('#pickupSlider01').slick({
/* 1つ目のスライダーのオプション */
});
// 0.5秒後に2つ目のスライダーのautoplayを開始
$('#pickupSlider02').on('init', function () {
var $self = $(this);
setTimeout(function () {
$self.slick('slickSetOption', 'autoplay', true, true);
}, 500);
});
$('#pickupSlider02').slick({
/* 2つ目のスライダーのオプション */
});
// 1秒後に3つ目のスライダーのautoplayを開始
$('#pickupSlider03').on('init', function () {
var $self = $(this);
setTimeout(function () {
$self.slick('slickSetOption', 'autoplay', true, true);
}, 1000);
});
$('#pickupSlider03').slick({
/* 3つ目のスライダーのオプション */
});
もっとあるときはeachで回すのもあり。
現場からは以上です。

コメントを残す