原因:swiper在初始化的時候會掃描swiper-wrapper下面的swiper-slide的個數,從而完成初始化,但是由於動態加載時在初始化之后的動作,所以導致無法滑動。
解決方案 1:在動態獲取數據后,馬上對swiper進行初始化;
1 $.ajax({ 2 type:"get", 3 url:finalUrl, 4 dataType:"json", 5 success:function(data){ 6 $("#reportList").empty(); 7 for(var i=0;i<reportLength;i++){ 8 var url="'"+"reportDetial.html"+location.search+"¬iceId="+reportList[i].id+"'"; 9 reportHtml+='<div class="swiper-slide report-item" onclick="reportJump('+url+')">' 10 +'<div class="item-title">'+data.resp[i].title+'</div>' 11 +'<div class="item-content">'+data.resp[i].content+'</div>' 12 +'<div class="item-date">'+data.resp[i].createTime+'</div>' 13 +'</div>'; 14 } 15 $("#reportList").append(reportHtml); 16 var swiper = new Swiper('.swiper-container', { 17 slidesPerView : 3 18 }); 19 } 20 });
解決方案2:
1 var mySwiper = new Swiper ('.swiper-container', { 2 observer:true,//修改swiper自己或子元素時,自動初始化swiper 3 observeParents:true,//修改swiper的父元素時,自動初始化swiper 4 loop: true, // 循環模式選項 5 pagination: { 6 el: '.swiper-pagination', 7 }, 8 9 })
