el-Carousel 走马灯实现移动端手滑切换

一

<el-carousel ref="carousel" :autoplay="autoplay" indicator-position="outside">
            <el-carousel-item v-for="(item, index) in bannerlist" :key="index">
                <div class="introduction_container" @click="bannerUrl(item)">
                    <el-image :src="item.img" alt="logo" >
                    </el-image>
                </div>
 </el-carousel-item>


二

        //是否自动播放
        stopAuto() {
            this.autoplay = false
        },
        startAuto() {
            this.autoplay = true
        },
        // 轮播手滑切换
        slideBanner() {
            let that = this
            //选中item的盒子
            var box = document.querySelector('.el-carousel__container')
            //手指起点X坐标
            var startPoint = 0
            //手指滑动重点X坐标
            var stopPoint = 0

            //重置坐标
            var resetPoint = function () {
                startPoint = 0
                stopPoint = 0
            }

            //手指按下
            box.addEventListener('touchstart', function (e) {
                //手指按下的时候停止自动轮播
                that.stopAuto()
                //手指点击位置的X坐标
                startPoint = e.changedTouches[0].pageX
            })
            //手指滑动
            box.addEventListener('touchmove', function (e) {
                //手指滑动后终点位置X的坐标
                stopPoint = e.changedTouches[0].pageX
            })
            //当手指抬起的时候,判断图片滚动离左右的距离
            box.addEventListener('touchend', function () {
                if (stopPoint == 0 || startPoint - stopPoint == 0) {
                    resetPoint()
                    that.startAuto()
                    return
                }
                if (startPoint - stopPoint > 0) {
                    resetPoint()
                    that.$refs.carousel.next()
                    that.startAuto()
                    return
                }
                if (startPoint - stopPoint < 0) {
                    resetPoint()
                    that.$refs.carousel.prev()
                    that.startAuto()
                    return
                }
            })
        },

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值