轮播视频与图片,判断视频播放完毕再切换

74 篇文章 3 订阅

逻辑
在这里插入图片描述

<template>
  <div>
    <van-swipe
      class="my-swipe"
      style="height: 300px"
      vertical
      :autoplay="autoplay"
      indicator-color="white"
      @change="onChange"
    >
      <van-swipe-item v-for="(item, index) in images" :key="index">
        <img v-lazy="item.img" v-show="item.type =='img'" />
        <video
          :id="'video' + index"
          controls="controls"
          v-show="item.type =='video'"
          autoplay="autoplay"
          loop="loop"
        >
          <source :src="item.img" />
        </video>
      </van-swipe-item>
    </van-swipe>
  </div>
</template>

<script>
export default {
  data() {
    return {
      autoplay: 3000,
      images: [
        { img: require("../../assets/monthAppointment/yl_b.png"), type: "img" },
        {
          img: require("@/assets/home/728980_fd5323e3d747e82a9cf79092e3665d74_0_cae.mp4"),
          type:'video',
        },
        { img: require("../../assets/monthAppointment/yl_b.png"), type: "img" },
      ],
    };
  },
  methods: {
    // 监听轮播图改变
    onChange(index) {
      // 如果是视频,就等播放完再进行下一个
      if (this.images[index].type == 'video') {
        // 获取倒计时
        this.autoplay =
          document.getElementById(`video${index}`).duration * 1000;
      } else {
        // 如果是图片就暂停三秒
        this.autoplay = 3000;
      }
    },
  },
  mounted() {},
};
</script>

<style lang="less">
// 播放器大小
video {
  width: 100%;
  height: 100%;
}
.my-swipe .van-swipe-item {
  color: #fff;
  font-size: 20px;
  line-height: 150px;
  text-align: center;
  background-color: #39a9ed;
  img {
    width: 100%;
    height: 100%;
  }
}
// 指示器样式
.van-swipe__indicators--vertical {
  left: 92%;
}
</style>
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值