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 += '<div class="swiper-slide">'+
'<div class="text">'+
'<p>'+
data[obj][i].name +
'</p>'+
'<p class="tip">'+
data[obj][i].inner_title_list[k] +
'</p>'+
'</div>'+
'</div>'
}
lunb0 ='<div class="swiper-container-honor only-honor-swiper">'+
'<img class="honer-later-pic" src="' + data[obj][i].pic_b + '" alt="' + data[obj][i].name + '" title="' + data[obj][i].name + '" class="honor-swiper-img" />'+
'<div class="swiper-wrapper">'+
temp2+
'</div>'+
'<div class="swiper-button-next honor-title-swiper-next"></div>'+
'<div class="swiper-button-prev honor-title-swiper-prev"></div>'+
'</div>'
}else {
//内容轮播
for(var j = 0; j< data[obj][i].inner_pic.length; j++){
temp += '<div class="swiper-slide">\
<img src="' + data[obj][i].inner_pic[j] + '" alt="' + data[obj][i].name + '" title="' + data[obj][i].name + '" class="honor-lunbo-pic" />\
</div>'
}
lunb0 = '<div class="swiper-container-honor">'+
'<div class="swiper-wrapper">'
+temp+
'</div>'+
'<div class="text">'+
'<p>'
+ data[obj][i].name +
'</p>'+
'<p class="tip">'
+ data[obj][i].tip + '</p>'+
'</div>'+
'<div class="swiper-button-next honor-conten-swiper"></div>'+
'<div class="swiper-button-prev honor-conten-swiper"></div>'+
'</div>'
}
$('.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初始化后,左右切换不了
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();
}
});
修改后查看效果