質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

8159閲覧

swiper.js スライドの自動再生について

nishimy

総合スコア14

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2017/03/08 14:02

スライドの自動再生を、swiper.jsを利用して実装しています。
レイアウトは無視してください。

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.4.1/css/swiper.css"> </head> <body> <!-- Slider main container --> <div class="swiper-container" style="width:400px;"> <!-- Additional required wrapper --> <ul class="swiper-wrapper"> <!-- Slides --> <li class="swiper-slide" style="text-align:center;list-style:none;">Slide 1</li> <li class="swiper-slide" style="text-align:center;list-style:none;">Slide 2</li> <li class="swiper-slide" style="text-align:center;list-style:none;">Slide 3</li> </ul> <!-- ナビゲーションボタン --> <div class="swiper-button-prev"></div> <div class="swiper-button-next"></div> </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.4.1/js/swiper.min.js"></script> <script> var mySwiper = new Swiper ('.swiper-container', { loop: true, autoplay: 3000, slidesPerView: 2, slidesPerGroup: 2, autoplayDisableOnInteraction: false, // ナビゲーションボタン nextButton: '.swiper-button-next', prevButton: '.swiper-button-prev', }); </script> </body> </html>

スライドを自動再生で2枚ずつ回したいのですが、自動にするとSlide3 Slide1が繰り返し表示され、Slide2が出てきません。
ナビゲーションボタンをクリックした時と同じようにスライドさせるには、どのオプションを使えばよろしいでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

slidesPerGroup: 2,
を2の場合は画像の枚数を偶数にしてください。
最後の枚数が上手く計算されないようです。というかちゃんと枚数を計算した結果とも言えますけど。
slidesPerView: 2,
slidesPerGroup: 2,
centeredSlides: false,
initialSlide: 0,

後はこんな感じで上手くいかないでしょうか

「追加」
3枚であれば一番簡単なのは下記のような感じでまとめてしまう事でしょうか

<div class="swiper-slide"> <img src="dummy/dummy1.png" /> <img src="dummy/dummy2.png" /> </div> <div class="swiper-slide"> <img src="dummy/dummy3.png" /> <img src="dummy/dummy1.png" /> </div> <div class="swiper-slide"> <img src="dummy/dummy2.png" /> <img src="dummy/dummy3.png" /> </div>
slidesPerView: 1, slidesPerGroup: 1,

後、イベントを拾って1つ進めるとか

onSlideChangeEnd: function(swiper){ if(flg){ swiper.slideNext(); flg = false; }else{ flg= true; } }

適当な場所にvar flg=false;

投稿2017/03/08 21:59

編集2017/03/09 21:15
kyunta

総合スコア350

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nishimy

2017/03/09 12:06

ご回答ありがとうございます。 3枚の画像を2枚ずつスライドさせるのはswiperでは難しいということでしょうか。
kyunta

2017/03/09 21:06

コメントではコードがごちゃごちゃしてしまうので、回答に追加しておきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問