実現したいこと
JavaScriptのSwiperで、画像4枚、表示する枚数3枚で自動スワイプしたい。
前提
JavaScriptで、画像4枚、表示する枚数3枚で、自動スワイプされる機能を作成しています。
イメージは下記です。
発生している問題・エラーメッセージ
画像を4枚挿入しているのに、
画像を3枚表示にすると、1つ空白ができて正常に動作しない。
HTMLソースコード
html
1<!-- Swiper-スワイパー --> 2 <div class="eyecatch"> 3 <div class="swiper"> 4 <!-- Additional required wrapper --> 5 <div class="swiper-wrapper"> 6 <!-- Slides --> 7 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 8 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 9 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 10 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 11 12 13 </div> 14 <!-- If we need navigation buttons --> 15 <div class="swiper-button-prev"></div> 16 <div class="swiper-button-next"></div> 17 18 <!-- If we need scrollbar --> 19 <div class="swiper-scrollbar"></div> 20 </div> 21 <!-- If we need pagination --> 22 <div class="swiper-pagination"></div> 23 </div>
PerViewの数は、画像*2より大きい数でないといけないという記事を見たので
試しに、画像を12枚にすると、正常動作となりました。
ただ、12枚の場合、同じ画像は4枚しか使用しないため、ページネーションも4にしたいんです。
HTMLソースコード
html
1<!-- Swiper-スワイパー --> 2 <div class="eyecatch"> 3 <div class="swiper"> 4 <!-- Additional required wrapper --> 5 <div class="swiper-wrapper"> 6 <!-- Slides --> 7 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 8 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 9 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 10 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 11 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 12 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 13 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 14 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 15 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 16 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 17 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 18 <div class="swiper-slide"><img src="https://placehold.jp/1000x1000.png" alt=""></div> 19 20 </div> 21 <!-- If we need navigation buttons --> 22 <div class="swiper-button-prev"></div> 23 <div class="swiper-button-next"></div> 24 25 <!-- If we need scrollbar --> 26 <div class="swiper-scrollbar"></div> 27 </div> 28 <!-- If we need pagination --> 29 <div class="swiper-pagination"></div> 30 </div>
空白を消す方法、スライドは12の場合でももしくはページネーションを4つにする方法がございましたらご教授ください。
該当のソースコード
JavaScript
1/* スワイパー */ 2const swiper = new Swiper('.swiper', { 3 // Optional parameters 4 speed: 600, // スライドの切り替えスピード 5 loop: true, 6 loopAdditionalSlides: 1, 7 followFinger: false, 8 slidesPerView: 1, 9 spaceBetween: 40, 10 centeredSlides: true, // スライドを中央寄せにする 11 autoHeight: true, 12 gradCursor: true, 13 autoplay: { 14 delay: 3000,//1秒後にスライド 15 disableOnInteraction: false,//ユーザーアクション後の自動再生を続ける 16 }, 17 allowTouchMove: true, 18 breakpoints: {767:{slidesPerView:3,spaceBetween:10}}, 19 20 // If we need pagination 21 pagination: { 22 el: '.swiper-pagination', 23 type: 'bullets', 24 clickable: true, 25 dynamicBullets: true, 26 dynamicMainBullets: 4, 27 }, 28 29 // Navigation arrows 30 navigation: { 31 nextEl: '.swiper-button-next', 32 prevEl: '.swiper-button-prev', 33 }, 34 35 // And if we need scrollbar 36 scrollbar: { 37 el: '.swiper-scrollbar', 38 }, 39});
試したこと
4枚から12枚にしたり、
ページネーションのdynamicBullets: true,やdynamicMainBullets: 4,を使用してみましたが意図したものではありませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー