MENU

Splideで実装する2種類のスライド(標準・オートスクロール)と高速化のポイント

Webサイトにスライドギャラリーを導入する際、軽量でカスタマイズ性の高いライブラリとして Splide.js が便利です。

https://ja.splidejs.com

この記事では、実際に導入した 標準スライドオートスクロール(拡張) の2パターン、さらに preloadオプションを調整して表示速度を改善する方法 を紹介します。

目次

基本の導入

CSS / JS の読み込み

WordPress の場合は functions.php に追記します。

if ( is_page(13286) ) { // ページ指定(任意)
    // Splide本体
    wp_enqueue_style(
        'splide-css',
        'https://cdn.jsdelivr.net/npm/@splidejs/splide@4.1.4/dist/css/splide.min.css',
        array(),
        '4.1.4'
    );
    wp_enqueue_script(
        'splide-js',
        'https://cdn.jsdelivr.net/npm/@splidejs/splide@4.1.4/dist/js/splide.min.js',
        array(),
        '4.1.4',
        true
    );
}

HTML構造

<div id="splide" class="splide">
  <div class="splide__track">
    <ul class="splide__list">
      <li class="splide__slide"><img src="slide1.jpg" alt=""></li>
      <li class="splide__slide"><img src="slide2.jpg" alt=""></li>
      <li class="splide__slide"><img src="slide3.jpg" alt=""></li>
    </ul>
  </div>
</div>

パターン① 標準のオートスライド

コマ送りのように「一定時間ごとに切り替え」するオートスライド。

document.addEventListener('DOMContentLoaded', function () {
  new Splide('#splide', {
    type: 'loop',
    perPage: 1,
    autoplay: true,
    interval: 3500,   // 切り替え間隔
    speed: 800,       // アニメーション速度
    pauseOnHover: true,
    pauseOnFocus: false,
    arrows: false,
    pagination: true,
  }).mount();
});

パターン② 拡張オートスクロール(流れ続けるスライド)

AutoScroll 拡張をfunctions.php に追加します。

// functions.php
wp_enqueue_script(
    'splide-auto-scroll',
    'https://cdn.jsdelivr.net/npm/@splidejs/splide-extension-auto-scroll@0.5.3/dist/js/splide-extension-auto-scroll.min.js',
    array('splide-js'),
    '0.5.3',
    true
);

初期化コード:

document.addEventListener('DOMContentLoaded', function () {
  var splide = new Splide('#splide', {
    type: 'loop',
    perPage: 5,
    gap: '24px',
    arrows: false,
    pagination: false,
    drag: false, // ユーザー操作なし
    autoScroll: {
      speed: 1.2, // 流れる速度(px/ms)
      pauseOnHover: true,
      pauseOnFocus: false,
    },
  });
  splide.mount(window.splide.Extensions);
});

最初の表示を高速化する preloadImages オプション

初期表示が遅く感じるときは、以下を加えると改善できます。

new Splide('#splide', {
  // ...
  preloadImages: false,   // 全画像を先読みしない
  lazyLoad: 'nearby',     // 近いスライドを順次読み込み
});

これで「最初のスライドだけ先に表示 → 周辺スライドをあとから読み込み」になり、初動が軽くなります。

まとめ

  • 標準オートスライド → 一定間隔で切り替わるスライド
  • オートスクロール拡張 → 常時流れ続けるスライド
  • preloadImages: false + lazyLoad → 最初の表示を高速化

サイトの雰囲気や目的に合わせて、最適な方式を選べます。

よかったらシェアしてね!
  • URLをコピーしました!
目次