vue项目中,在安卓手机上swiper轮播切换时视频与图片出现卡顿切换问题

做项目的时候发现一个问题,swiper视频与图片轮播切换时在ios上切换很流畅,但是安卓手机就很卡顿,想办法解决了半天,百度了半天,好像也没人遇到,就记录下想到的一种解决方案

功能:顶部有视频和图片的轮播图切换,无自动轮播,手动滑动切换
操作:发现视频与下一张图片切换时,视频的当前画面会卡顿
解决:触发滑动事件的时候,把视频标签隐藏,换成图片进行切换

具体代码

html

<div class="mySwiper"><swiperref="mySwiper" style="height:9rem;" :options="swiperOptions"><swiper-slide v-for="item in mySwiper1" :key="item.id"><div class="videoDiv" v-if="item.type==1 && video && video.length > 0" style="height:9rem;"><video v-if="videoShow" x5-playsinline playsinline webkit-playsinline class="ou"  @click="zanting()" :src="video" id="video" style="width:100%;height: 100%;object-fit:fill;webkit-playsinline='true';playsinline='true'" :poster="videoImg"></video><div v-if="videoShow" id="play" class="play" @click="vioplay()"><img src="../assets/img/play.png" style="width:100%;height: 100%;"/></div><img v-else :src="videoImg" style="width:100%;height: 100%;"/></div><img v-else :src="item.imageUrl" /></swiper-slide><div class="swiper-pagination" slot="pagination"></div></swiper>
</div>

vue中

var _this;
export default {name: "page2",data() {return {videoShow: true,// 控制显示视频还是隐藏id: this.$route.query.id,swiperOptions: {pagination: {el: ".swiper-pagination"},on:{slideChange: function(){console.log('改变了,activeIndex为'+this.activeIndex);if(this.activeIndex==0){// 当切换到第一个位置时,也就是视频时,显示视频_this.videoShow = true;$(".swiper-pagination").css("display", "none");// 隐藏swiper切换的点点}else{// 当切换到不是第一个位置时,也就是图片时,隐藏视频且将视频暂停_this.videoShow = false;_this.zanting();$(".swiper-pagination").css("display", "");// 显示swiper切换的点点}}}},mySwiper1: [],videoImg: "",video: "",};},methods: {//video playvioplay: function() {var video = document.getElementById("video");video.controls = "controls";video.play();$(".play").css("display", "none");$(".swiper-pagination").css("display", "none");},//video zantingzanting: function() {var video = document.getElementById("video");if(!video) return;video.controls = null;video.pause();$(".play").css("display", "block");},loadData: function() {this.$api.post("api/dest/particulars", { id: this.id }, obj => {obj = obj.data;if (obj) {this.video = obj.video;this.videoImg = obj.videoImg;if(this.video && this.video.length > 0){// 将视频放入轮播图列表中mySwiper1中第一位this.mySwiper1.push({id:-1,type:1});}}});//头部图片this.$api.post("api/public/banners", { type: "06", id: this.id }, obj => {obj = obj.data;if (obj.length == 0) {obj = [{id: 1,imageUrl: require("@/assets/img//onerror375x160.png")}];}for(var o of obj){this.mySwiper1.push(o);}});}},mounted: function() {this.loadData();this.loadImg();},created() {_this = this;}
};

css

// 播放按钮的样式
.play {width: 2.5rem;height: 2.5rem;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);z-index: 9999;
}

代码还有待优化,但是解决了明显卡顿的问题就先贴出来记录一下

vue项目中,在安卓手机上swiper轮播切换时视频与图片出现卡顿切换问题相关推荐

  1. Vue项目中获取数据后使用swiper轮播,无法轮播且 autoplay 和 loop 失效问题!

    Vue项目中获取数据后使用swiper轮播,无法轮播且 autoplay 和 loop 失效问题! 问题表现:轮播组件显示第一张图,可拖动但无法切换到下一张图.但是F12控制台切换屏幕后能正常轮播但无 ...

  2. (三)Vue项目——微商城:首页页面,轮播图+九宫格访问按钮

    目录 首页 1.显示轮播图 2.服务器返回轮播图数据 3安装axios 4从服务器获取数据 5快速访问按钮 首页 1.显示轮播图 src\pages\Home.vue <template> ...

  3. 实战:vue项目中导入swiper插件

    版本选择 swiper是个常用的插件,现在已经迭代到了第四代:swiper4. 常用的版本是swiper3和swiper4,我选择的是swiper3. 安装 安装swiper3的最新版本3.4.2: ...

  4. vue之猫眼json数据的获取直接用于自己的vue项目中,swiper轮播插件的坑

    vue之猫眼json数据的获取直接用于自己的vue项目中 遇到问题总结: 加载不出猫眼数据,无法调用,数据被限制 猫眼电影图片的拼接及删除问题 swiper的迷幻坑** 首先来说一下第一问题 加载不出 ...

  5. vue项目中使用swiper实现中间大,两边小的轮播图

    前言 项目中使用的vue,刚好有需求要实现轮播图,突出显示当前图片,两边展示其他图片:通过查各种资料,实现了,故在此记录下来 实现效果如下: 下面我们来看下实现步骤: 第一步:首先在项目index.h ...

  6. vue项目中swiper动态更新后无法轮播问题 附带案例代码

    swiper是很常用的一个组件,我项目中用到的版本是4.1.6.刚开始,我就按照官网的案例写了个demo,当然图片都是静态写死的,确实可以轮播了,但是我项目的需求是要动态修改轮播图的内容.然后我就改成 ...

  7. 2021-11-29 vue移动端卖座电影项目(三) vue项目中使用Swiper插件,Film页面设置轮拨图,nowPlaying页面设置样式

    文章目录 1.引入swiper.vue组件 目的 步骤 结果 2.把swiper-slide做成匿名插槽 3.Film.vue中通过axios请求获取后台轮播图片 目的 步骤 因为现在原网站已取消轮拨 ...

  8. vue项目中,使用微信js-sdk打开微信内置导航,唤醒第三方导航,

    vue项目中,使用微信js-sdk打开微信内置导航,唤醒第三方导航 一.准备工作 二.开发须知 三.开始安装sdk 四.通过微信的config接口注入权限验证配置 附上代码 最近在搞vue项目需要在手 ...

  9. Vue 项目中各种痛点问题及方案

    作者:愣锤 原文:https://juejin.im/post/6844903632815521799 最近要求使用vue进行前后端分离开发微信公众号,不断摸索踩坑之后,总结出如下几点vue项目开发中 ...

最新文章

  1. 2022-2028年中国机制砂石行业投资分析及前景预测报告
  2. iphone已停用解锁大概多少钱_【待办清单工具之三】微软To Do amp; iPhone提醒事项-来自大厂的时间管理系统...
  3. /etc/resolv.conf服务器客户端DNS重要配置文件
  4. Vue「三」—— vue 侦听器、vue 计算属性、vue-cli、vue 组件
  5. RTT时钟管理篇——软硬定时器理解(二)
  6. 手把手教你搭建机器学习+深度学习AI模型
  7. selenium2 介绍+简单实战
  8. android信鸽推送demo_腾讯信鸽推送(java版)
  9. 【系统集成项目管理工程师】—三点估算
  10. 打印机怎么设置扫描到计算机,打印扫描一体机怎么扫描_怎样用打印机扫描文件到电脑-win7之家...
  11. hdu 5857 Median(模拟)
  12. 【2020.10.29 洛谷团队赛 普及组】T6 U138025 小武的方程
  13. 三点共线,向量计算其中一点坐标
  14. 数据分析学习总结笔记01:情感分析
  15. 不懂精简指令集还敢说自己是程序员?
  16. linux终端关闭xmanager,xmanager功能和设置
  17. linux tar exclude 多个目录,tar 过滤多个文件目录 打包
  18. MySQL(九):InnoDB 表空间(Tables)
  19. 信号归一化功率_MQAM信号调制方式自动识别方法
  20. 五个经典漏斗模型,看漏斗思维穿透流程化的本质

热门文章

  1. 宏基因组单样品vamb分箱,gtdb物种注释与建树
  2. 软件测试中简述w模型特点,软件测试V模型、W模型 、H 模型的特点
  3. 苹果新款可能低价iPhone售价200美元起
  4. JavaScript编写输入框计算器
  5. (转贴)Tinkpad 笔记本
  6. 网络数据采集的系统特点有哪些?
  7. 黑马点评项目-达人探店
  8. 企业级 DevOps 究竟是什么?
  9. Opendaylight部署karaf集群
  10. MVC设计模式思想简述