Element UI 走马灯 轮播图 移动端实现手指滑动

 <el-carousel :interval="4000" type="card" ref="slideCarousel">
        <el-carousel-item v-for="item in banner1" :key="item">
                 <img :src="item" class="medium" alt="">
         </el-carousel-item>
</el-carousel>

mounted() {
      if (this.$refs.slideCarousel) this.slideBanner()
    },  
    methods:{
      slideBanner() {
        //选中的轮播图
        var box = document.querySelector('.el-carousel__container');
        var startPoint = 0;
        var stopPoint = 0;
        //重置坐标
        var resetPoint = function () {
          startPoint = 0;
          stopPoint = 0;
        }
        //手指按下
        box.addEventListener("touchstart", function (e) {
          //手指点击位置的X坐标
          startPoint = e.changedTouches[0].pageX;
        });
        //手指滑动
        box.addEventListener("touchmove", function (e) {
          //手指滑动后终点位置X的坐标
          stopPoint = e.changedTouches[0].pageX;
        });
        //当手指抬起的时候,判断图片滚动离左右的距离
        let that = this
        box.addEventListener("touchend", function (e) {
          if (stopPoint == 0 || startPoint - stopPoint == 0) {
            resetPoint();
            return;
          }
          if (startPoint - stopPoint > 0) {
            resetPoint();
            that.$refs.slideCarousel.next();
            return;
          }
          if (startPoint - stopPoint < 0) {
            resetPoint();
            that.$refs.slideCarousel.prev();
            return;
          }
        });
      }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值