時給単価UP【3大特典付き】
コーディングテクニック集100選⋙

【簡単】Swiperで自動再生の無限ループスライダーを作成【サンプルあり】

記事内に広告を含みます

パソ君
パソ君

・Swiperで無限ループするスライダーって作れる?

こんな疑問にお答えします。

案件によっては、自動で動く無限ループスライダーを作る時ありますよね。

それ実はSwiperで簡単に実装可能です。

ジト
ジト

すぐにできるよ!

ということで、この記事では「Swiperで自動再生の無限ループスライダーを作成」について解説していきます!

swiper自体の作り方については下記記事を参考に↓

【簡単】Swiperの使い方|初心者向けに解説【オプション】
この記事でわかること

・Swiperで自動再生の無限ループスライダーを作成
・Swiperで自動再生の無限ループスライダーを作成【逆向き】

【簡単】Swiperで自動再生の無限ループスライダーを作成【サンプルあり】

そんな自動再生で動く無限ループスライダーのサンプルがこちら↓

See the Pen swiper 無限ループ by jito-coder (@jito-coder) on CodePen.

<div class="swiper">
    <div class="swiper-wrapper">
        <div class="swiper-slide swiper-slide01">
            <img src="https://jito-site.com/wp-content/uploads/2023/01/1.png" alt="">
        </div>
        <div class="swiper-slide swiper-slide02">
            <img src="https://jito-site.com/wp-content/uploads/2023/01/2.png" alt="">
        </div>
        <div class="swiper-slide swiper-slide03">
            <img src="https://jito-site.com/wp-content/uploads/2023/01/3.png" alt="">
        </div>
        <div class="swiper-slide swiper-slide04">
            <img src="https://jito-site.com/wp-content/uploads/2023/01/4.png" alt="">
        </div>
    </div>
</div>
.swiper-wrapper{
    transition-timing-function: linear;
}
window.onload = function() {
    const swiper = new Swiper(".swiper", {
        loop: true,
        autoplay: {
            delay: 0,
            pauseOnMouseEnter: true,
            disableOnInteraction: false,
        }, 
        speed: 2000,
        slidesPerView: 2,
    });
}

コードの中で重要な点がこちら↓

  • 通常通りのスライダーを実装
  • 遷移の遅延が0秒の自動再生を有効に
  • 仕様に合わせてスライド数とスピードを指定
  • スライドの動きをスムーズにさせる
  • ホバー時に止めるかの指定

順に解説してきます。

➀:通常通りのスライダーを実装

まず通常通りのスライダーを実装するHTMLを組み立てます。

<div class="swiper">
    <div class="swiper-wrapper">
        <div class="swiper-slide swiper-slide01">
            <img src="https://jito-site.com/wp-content/uploads/2023/01/1.png" alt="">
        </div>
        <div class="swiper-slide swiper-slide02">
            <img src="https://jito-site.com/wp-content/uploads/2023/01/2.png" alt="">
        </div>
        <div class="swiper-slide swiper-slide03">
            <img src="https://jito-site.com/wp-content/uploads/2023/01/3.png" alt="">
        </div>
        <div class="swiper-slide swiper-slide04">
            <img src="https://jito-site.com/wp-content/uploads/2023/01/4.png" alt="">
        </div>
    </div>
</div>

矢印とドットは使わないため、今回はHTMLに記述しておりません。

➁:遷移の遅延が0秒の自動再生を有効に

続いてJavaScriptにて、自動再生を有効にしたコードを記述します。

無限ループにしたいので、切替時の遷移遅延は0秒に指定。

window.onload = function() {
    const swiper = new Swiper(".swiper", {
        loop: true,
        autoplay: {
            delay: 0,
        }, 
    });
}

➂:仕様に合わせてスライド数とスピードを指定

次に表示するスライド枚数と、スピードを指定します。

今回は例として2枚表示の2秒で切替わるように指定しました。

window.onload = function() {
    const swiper = new Swiper(".swiper", {
        loop: true,
        autoplay: {
            delay: 0,
        }, 
        speed: 2000,
        slidesPerView: 2,
    });
}

ただこのままだと、動きがくねくねしちゃいます。。

➃:スライドの動きをスムーズにさせる

先述のままだとスライドの動きがくねくねするので、CSSを使って対策します。

それが下記コード↓

.swiper-wrapper{
    transition-timing-function: linear;
}

これでスムーズな動きの自動再生無限ループスライダーが完成しました!

➄:ホバー時に止めるかの指定

これは仕様によりますが、ホバー時にスライドを止めるか否かの指定をします。

止める場合、下記の6,7行目コードを追加。

window.onload = function() {
    const swiper = new Swiper(".swiper", {
        loop: true,
        autoplay: {
            delay: 0,
            pauseOnMouseEnter: true,
            disableOnInteraction: false,
        }, 
        speed: 2000,
        slidesPerView: 2,
    });
}

これで無限ループスライダーの実装ができました!

See the Pen swiper 無限ループ by jito-coder (@jito-coder) on CodePen.

【簡単】Swiperで自動再生の無限ループスライダーを作成【逆向き】

最後に逆向きに動く、無限ループスライダーを紹介します。

それがこちら↓

See the Pen swiper 無限ループ逆向き by jito-coder (@jito-coder) on CodePen.

先ほどとは反対の方向に動いていきますよね。

とはいってもやり方は簡単。

「autoplay」にて、下記コードを追加すればOKです。

autoplay: {
    delay: 0,
    pauseOnMouseEnter: true,
    disableOnInteraction: false,
    // 下記を追加
    reverseDirection: true,
}, 

全体コードがこちら↓

window.onload = function() {
    const swiper = new Swiper(".swiper", {
        loop: true,
        autoplay: {
            delay: 0,
            pauseOnMouseEnter: true,
            disableOnInteraction: false,
            reverseDirection: true,
        }, 
        speed: 2000,
        slidesPerView: 2,
    });
}

これだけで逆方向の動きの指定ができます!

【簡単】Swiperで自動再生の無限ループスライダーを作成【サンプルあり】:まとめ

  • 「autoplay」を有効+遅延0秒
  • CSSを使い動きをスムーズに
  • 逆方向にする場合「autoplay」に「reverseDirection: true,」を追加
ジト
ジト

Swiperで自動再生の無限ループスライダーを作る時はためしてみてね!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA