swiper轮播中嵌入video视频,安卓机兼容处理

项目中使用swiper插件嵌套video标签

正常的swiper插件里面嵌套video标签,如下写法就够了,在ios 和PC端上完全没有问题,但是在安卓机上,播放视频后,视频的层级会居上,覆盖住下面的层,导致左右滑块被遮挡,并且滑动video标签也无法滑动。

<div class="swiper-container video-box">
   <div class="swiper-wrapper">
       <div class="swiper-slide" >
               <video class="video1"  controls="controls" src="video/bt03.mp4" poster="img/vbg01.png"  playsinline="true" webkit-playsinline="true"  preload="auto"></video>
       </div>
       <div class="swiper-slide" >
               <video class="video1"  controls="controls" src="video/bt02.mp4" poster="img/vbg02.png" playsinline="true" webkit-playsinline="true"  preload="auto"></video>
       </div>
    </div>
</div>

播放前 视频在正常层级

播放后 视频浮在最上层

设置层级并不好使;改用在当前小窗口播放的方法,给video标签设置webkit-playsinline playsinline x5-playsinline属性,然而也不起作用。

最后考虑video暂停播放时,设置video的display 为hidden,滑动到下一个视频的时候,暂停播放当前的视频,显示视频的图片。

修改

html修改,添加播放的图片和播放按钮

<div class="swiper-container video-box">
        <div class="swiper-wrapper">
            <div class="swiper-slide" >
                    <video class="video1"  controls
### 使用 Swiper 实现轮播视频 为了在 Vue 中使用 Swiper 插件来创建轮播视频功能,需先完成必要的安装和配置工作。通过 `npm` 安装特定版本的 `vue-awesome-swiper` 可以确保兼容性和稳定性[^4]。 ```bash npm install vue-awesome-swiper@3.1.3 swiper --save ``` 接着,在项目入口文件或者组件内部引入并注册 Swiper 组件: ```javascript import Vue from 'vue'; import { Swiper, SwiperSlide } from 'vue-awesome-swiper'; import 'swiper/css/swiper.css'; Vue.use(Swiper); ``` 对于轮播视频的具体实现方式如下所示: #### 创建轮播视频容器结构 定义 HTML 结构用于容纳多个视频元素作为轮播项的一部分。每个 `<video>` 标签代表一个单独的视频资源,并放置在一个独立的 `.swiper-slide` 类下以便被 Swiper 控制器识别处理。 ```html <div class="swiper-container"> <div class="swiper-wrapper"> <!-- 单个视频滑块 --> <div class="swiper-slide" v-for="(item,index) in videoList" :key="index"> <video controls> <source :src="item.src" type="video/mp4"/> Your browser does not support the video tag. </video> </div> </div> <!-- 如果需要分页器 --> <div class="swiper-pagination"></div> </div> ``` #### 初始化 Swiper 并配置选项 利用 JavaScript 来初始化 Swiper 对象以及设定其行为特性,比如自动播放、循环模式等参数。这里还展示了如何启用垂直滚动效果[^2]。 ```javascript new Swiper('.swiper-container', { loop: true, // 自动播放设置 autoplay: { delay: 5000, disableOnInteraction: false, }, // 垂直方向切换 direction: 'vertical', // 分页器设置 pagination: { el: '.swiper-pagination', clickable: true, } }); ``` 以上代码片段提供了完整的解决方案,能够帮助开发者快速集成 Swiper 轮播视频到自己的 Vue 应用程序当中去。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值