swiper动态加载数据左右切换失效

1、数据加载后进行swiper初始化时

$('.honor .commemorative-medals').on('click', 'li img', function () {
	var obj = $(this).closest('.commemorative-medals').attr('id');
	var i = $(this).closest('li').index();
       var str = '';
       var lunbo = "";
       var lunb0 = "";
       var temp = "";
       var temp2 = "";
       //标题轮播
       if(data[obj][i].inner_title_list && data[obj][i].inner_title_list.length){
           for(var k = 0; k<data[obj][i].inner_title_list.length; k++){
               temp2 += '
'+ '
'+ '

'+ data[obj][i].name + '

'
+ '

'+ data[obj][i].inner_title_list[k] + '

'
+ '
'
+ '
'
} lunb0 ='
'+ '+ data[obj][i].pic_b + '" alt="' + data[obj][i].name + '" title="' + data[obj][i].name + '" class="honor-swiper-img" />'+ '
'+ temp2+ '
'
+ '
'
+ '
'
+ '
'
}else { //内容轮播 for(var j = 0; j< data[obj][i].inner_pic.length; j++){ temp += '
\ + data[obj][i].inner_pic[j] + '" alt="' + data[obj][i].name + '" title="' + data[obj][i].name + '" class="honor-lunbo-pic" />\
'
} lunb0 = '
'+ '
' +temp+ '
'
+ '
'+ '

' + data[obj][i].name + '

'
+ '

' + data[obj][i].tip + '

'
+ '
'
+ '
'
+ '
'
+ '
'
} $('.prompt2 .main_content').html(lunb0); //数据加载完成后,开始用swiper var myswiper = new Swiper('.swiper-container-honor', { lazyLoading : true, spaceBetween: 0, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, onSlideChangeEnd: function (swiper) { swiper.update(); mySwiper.startAutoplay(); mySwiper.reLoop(); } });

数据加载完成后,开始用swiper,会发现,swiper初始化后,左右切换不了
swiper动态加载数据左右切换失效_第1张图片

2.解决办法

只需要修改一下swiper的配置即可,添加

 var myswiper = new Swiper('.swiper-container-honor', {
     lazyLoading : true,
     observer:true,//修改swiper自己或子元素时,自动初始化swiper 
     observeParents:true,//修改swiper的父元素时,自动初始化swiper 
     spaceBetween: 0,
     navigation: {
         nextEl: '.swiper-button-next',
         prevEl: '.swiper-button-prev',
     },
     onSlideChangeEnd: function (swiper) {
         swiper.update();
         mySwiper.startAutoplay();
         mySwiper.reLoop();
     }
 });

修改后查看效果

你可能感兴趣的:(前端开发)