zoukankan      html  css  js  c++  java
  • 解决swiper动态改变数据后分页混乱问题

    swiper动态改变数据后分页器的页数就变混乱了,导致内容展示不全。

    本文的解决方法不能算是真正意义上的解决了问题。只是在展示上符合了要求。

    效果图:

    解决方法:

    每次动态改变数据时都把原来的swiper删除,重新添加并初始化一个swiper,只是改变了swiper-wrapper里的数据。具体代码实现如下:

    html:

    <!--html-->
    <div id="swiperBox">
        <div class="swiper-container" id="img_detail">
            <div class="swiper-wrapper" id="swiperImgs">
            </div>
            <!-- 分页器 -->
            <div class="swiper-pagination"></div>
        </div>
    </div>

    html部分就和官方文档里给出的例子一样的。我只是在swiper-container外边又套了一个<div>用于在动态改变数据的时候动态删除和添加swiper。

    js

    // js
    
    var num = 7;//滑动窗口中图片的数量
    var color = "red";//当前选中的包的颜色
    
    window.onload = function () {
        this.init();
    }
    
    // 初始化滑动窗
    function init() {
        for (var i = 1; i <= this.num; ++i) {
            $("#swiperImgs").append('<div class="swiper-slide"><img src="image/' + color + '/d' + i + '.JPG" style="100%;"></div>')
        }
        var mySwiper = new Swiper('.swiper-container', {
            loop: true,
            pagination: {
                el: '.swiper-pagination',
            }
        })
    }
    
    // 改变颜色
    function changeColor(c, n,obj) {
        color = c;
        num = n;
        var parent=obj.parentNode;
        $(parent.childNodes).removeClass("selected");
        $(obj).addClass("selected");
        $("#swiperBox").empty(); //将原来的swiper删除掉
        $("#swiperBox").append('<div class="swiper-container" id="img_detail"><div class="swiper-wrapper" id="swiperImgs"></div><div class="swiper-pagination"></div></div>');//添加了一个新的swiper
        init();//对swiper添加内容并完成初始化
    }

    网上比较多的方法是给对swiper设置属性observe:true,或者改变数据后调用mySwiper.update()函数进行更新,我都试过了,但多少还是会出现一些问题,要不就是分页器的标签数不对,要不就是分页器标签不跟随移动等等。无奈之下用了这种方法,踏实了。

    以下是我改变颜色的按钮的html:

    <!-- 颜色选择器 -->
    <div class="colorBox">
        <button onclick="changeColor('red',7,this)" class="selected"><img src="image/colorBut/red.png"/></button>
        <button onclick="changeColor('green',3,this)"><img src="image/colorBut/green.jpg"/></button>
    </div>
  • 相关阅读:
    快速免费用宝塔面板加开源小程序商城源码搭建自己的商城程序
    小程序商城,到底是购买源码好还是直接使用SaaS平台好?
    51单片机串口通信的注记
    关于vi 分屏的一些指令
    偶遇bash 的while read line 的问题
    centos 6 设置无密码登录ssh 不成功问题
    关于js框架 dwz 与 yii的的分页 以及筛选的结合
    完美解决百度地图MarkerClusterer 移动地图时,Marker 的Label 丢失的问题
    微信小程序购物商城系统开发系列-目录结构
    微信小程序支付步骤
  • 原文地址:https://www.cnblogs.com/cff2121/p/12097220.html
Copyright © 2011-2022 走看看