やりたいこと
下記参考サイトを元にTABで切り替えを行い、
そこにSwiperを用いたスライダーを設置したいと思っています。
上記を参考に下記のような記述を行いましたが、1枚目のパネルのSwiperは作動しますが、
2枚目、3枚目はうまく作動しませんでした。
【html】 <div class="tabs"> <input id="all" type="radio" name="tab_item" checked> <label class="tab_item" for="first">TAB1</label> <input id="programming" type="radio" name="tab_item"> <label class="tab_item" for="second">TAB2</label> <input id="design" type="radio" name="tab_item"> <label class="tab_item" for="third">TAB3</label> <div class="tab_content" id="first_content"> <div class="swiper-container slider1"> <div class="swiper-wrapper"> <div class="swiper-slide">①1つ目の内容</div> <div class="swiper-slide">①2つ目の内容</div> <div class="swiper-slide">①3つ目の内容</div> </div> </div> </div> <div class="tab_content" id="second_content"> <div class="swiper-container slider2"> <div class="swiper-wrapper"> <div class="swiper-slide">②1つ目の内容</div> <div class="swiper-slide">②2つ目の内容</div> <div class="swiper-slide">③3つ目の内容</div> </div> </div> </div> <div class="tab_content" id="third_content"> <div class="swiper-container slider3"> <div class="swiper-wrapper"> <div class="swiper-slide">③1つ目の内容</div> <div class="swiper-slide">③2つ目の内容</div> <div class="swiper-slide">③3つ目の内容</div> </div> </div> </div> </div>
【JavaScript(Swiper設定)】 <script> var slider1 = new Swiper ('.slider1', { effect: 'slide', slidesPerView: 1.5, spaceBetween:10, centeredSlides : true, autoplay: { delay: 2000, }, loop: true, pagination: { el: '.swiper-pagination', }, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, scrollbar: { el: '.swiper-scrollbar', }, }); var slider2 = new Swiper ('.slider2', { effect: 'slide', slidesPerView: 1.5, spaceBetween:10, centeredSlides : true, autoplay: { delay: 2000, }, loop: true, pagination: { el: '.swiper-pagination', }, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, scrollbar: { el: '.swiper-scrollbar', }, }); var slider3 = new Swiper ('.slider3', { effect: 'slide', slidesPerView: 1.5, spaceBetween:10, centeredSlides : true, autoplay: { delay: 2000, }, loop: true, pagination: { el: '.swiper-pagination', }, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, scrollbar: { el: '.swiper-scrollbar', }, }); </script>
別途試したこと①
また、3つのパネル内のSwiperの挙動は同じでも問題ないので、
別途、htmlにて各パネル内のClassに付随されているslider1~slider3を削除し、
Swiperの設定を統一した記述も試してみました。
<script> var slider1 = new Swiper ('.swiper-container', { effect: 'slide', slidesPerView: 1.5, spaceBetween:10, centeredSlides : true, autoplay: { delay: 2000, }, loop: true, pagination: { el: '.swiper-pagination', }, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, scrollbar: { el: '.swiper-scrollbar', }, }); </script>
只、どちらの方法を行っても、
1枚目のパネル内のSwiperは動きますが、2枚目・3枚目は動かない状態です。
別途試したこと②
TAB切り替えを行わず、単純に3つSwiperを設置した場合は、
動きましたので、TAB関連のものと何かがぶつかっているかと思い
【html】 <div class="tabs"> <input id="all" type="radio" name="tab_item" checked> <label class="tab_item" for="first">TAB1</label> <input id="programming" type="radio" name="tab_item"> <label class="tab_item" for="second">TAB2</label> <input id="design" type="radio" name="tab_item"> <label class="tab_item" for="third">TAB3</label> <div class="swiper-container tab_content" id="first_content"> <div class="swiper-wrapper"> <div class="swiper-slide">①1つ目の内容</div> <div class="swiper-slide">①2つ目の内容</div> <div class="swiper-slide">①3つ目の内容</div> </div> </div> <div class="swiper-container tab_content" id="second_content"> <div class="swiper-wrapper"> <div class="swiper-slide">②1つ目の内容</div> <div class="swiper-slide">②2つ目の内容</div> <div class="swiper-slide">②3つ目の内容</div> </div> </div> <div class="swiper-container tab_content" id="third_content"> <div class="swiper-wrapper"> <div class="swiper-slide">③1つ目の内容</div> <div class="swiper-slide">③2つ目の内容</div> <div class="swiper-slide">③3つ目の内容</div> </div> </div> </div>
上記のようtab_contentとswiper-containerを統一させてみましたが、
変わらず1枚目のパネル内のSwiperは動き、2枚目・3枚目は動かない状態でした。
思いつく限りの方法は試してみましたが、原因や解決策がわからずの為、
恐れ入りますがお知恵お借りできれば幸いです。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/15 04:24
2022/10/15 05:13
2022/10/15 08:36