Swiper でページの動的追加
javascript でスワイプを実現する Swiper
予めページ数が決まっていれば、その形で設計すればいいんだろうけど、日付みたいに無限にスワイプさせたい事はよくある話
onSlideChangeEnd イベントで、末尾の場合は後ろに div を追加、先頭の場合は div を挿入(2ページ目へ戻す)という手順
あたりまえですが、最初に最低でも3枚は必要になり、initialSlide: 1 で中央のを選択しておきます
次々と div セクションが追加されるので、あまりにページが多い場合は、逆の端から削除するのがよいかもね
予めページ数が決まっていれば、その形で設計すればいいんだろうけど、日付みたいに無限にスワイプさせたい事はよくある話
onSlideChangeEnd イベントで、末尾の場合は後ろに div を追加、先頭の場合は div を挿入(2ページ目へ戻す)という手順
あたりまえですが、最初に最低でも3枚は必要になり、initialSlide: 1 で中央のを選択しておきます
次々と div セクションが追加されるので、あまりにページが多い場合は、逆の端から削除するのがよいかもね
<html> <head> <link rel="stylesheet" href="idangerous.swiper.css"> <script src="idangerous.swiper.js"></script> <script type="text/javascript" src="jquery-1.11.1.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var MCount = 0; var mySwiper = new Swiper('.swiper-container', { mode:'horizontal', initialSlide: 1, loop: false, onSlideChangeEnd: function(){ if(mySwiper.activeIndex == 0){ // 先頭に挿入 MCount--; $(".swiper-wrapper").prepend('<div class="swiper-slide" style="background: #eeeeff;">' + String(MCount) + '</div>'); mySwiper.reInit(); mySwiper.swipeTo(1, 0, null); }else{ var slidepanels = $(".swiper-wrapper").children('div'); if (slidepanels.length -1 == mySwiper.activeIndex){ // 末尾に追加 $(".swiper-wrapper").append('<div class="swiper-slide" style="background: #eeeeff;">' + String(mySwiper.activeIndex + 1) + '</div>'); mySwiper.reInit(); } } } }); }); </script> </head> <body> <hr /> <div class="swiper-container"> <div class="swiper-wrapper"> <div class="swiper-slide" style="background: #f7eeee;"> 0 </div> <div class="swiper-slide" style="background: #eeffee;"> 1 </div> <div class="swiper-slide" style="background: #eeeeff;"> 2 </div> </div> </div> <hr /> </body></html>
コメント