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 += '<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();
     }
 });

修改后查看效果
在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值