Swiper使用心得

最近做了一个前端项目,其中用到了 Swiper 插件,对于我一个后台来说这个项目简直是一种煎熬,遇到了很多问题,在这里和大家分享下。

  

     // swiper轮播上边
        this.galleryTop = new Swiper('.gallery-top', {
          spaceBetween: 0, // 在slide之间设置距离(单位px)。
          noSwiping: true, // 设为true时,可以在slide上(或其他元素)增加类名'swiper-no-swiping',使该slide无法拖动
          observer: true,//修改swiper自己或子元素时,自动初始化swiper
          observeParents: true,//修改swiper的父元素时,自动初始化swiper
          on: {
            touchStart: function (event) { // touchStart 当碰触到slider时执行  activeIndex 返回当前索引值
              if (this.activeIndex == 1) {
                that.galleryTop.allowSlidePrev = false // 控制是否可以切换到上一个
              } else {
                that.galleryTop.allowSlidePrev = true // 控制是否可以切换到上一个
              }
            },
            slideChange: function () { 
               // slideChange 当前Slide切换时执行(activeIndex发生改变)
            }
          }
        })        

上面为Swiper初始化,其中的黄色标注就是坑所在

问题描述:

  比如说现在滑动的卡片有4个,如代码所示,如果当前活动的下标为1,也就是第二个卡片,则将其设置为禁止向左滑动,也就是 “that.galleryTop.allowSlidePrev = false”,这样卡片就不能向左滑动,但是可以向右滑动,不过这个时候你如果使用 “galleryTop.slideTo(0)”(解释:作用是控制卡片跳转到指定下标的卡片),就会出现问题,如果你设置了第二个卡片禁止向左滑动,你用“galleryTop.slideTo(0)”指定跳转到第一个卡片就会不起作用,但是可以指定该卡片右边的卡片,也就是“galleryTop.slideTo(2)”,总结来说,你只要设置了向左禁止滑动,所有的向左的指定卡片跳转“galleryTop.slideTo(0)”都不起作用;

原因:

  

  如图所示只要你设置了该属性,向左滑动禁用,并且按钮组件失效,也就是说你只要设置了该属性,它就会一直处于向左禁用的状态

解决方法:

  在你使用 “galleryTop.slideTo(0)” 之前加上 “galleryTop.allowSlidePrev = true” 先解除禁用,在进行跳转就可以了。

转载于:https://www.cnblogs.com/Singulariity-gs/p/11155792.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值