使用swiper实现视频和图片混合轮播
完成需求:轮播页面自动滚动循环播放素材,在视频页面自动播放视频至视频结束后继续轮播下一个素材,手动切换时视频页暂停播放,切换回来后恢复播放。
1.安装swiper相关插件
2.在轮播页面引入
import { Swiper, SwiperSlide } from "vue-awesome-swiper";
import "swiper/swiper-bundle.css";
import Swiper2, { Autoplay } from "swiper";
Swiper2.use([Navigation, Pagination, EffectFade, Autoplay]);
此处特别注意,自动播放Autoplay 需要单独引入,因为swiper单独对Autoplay 进行了打包操作,如果未引入会导致设置自动播放属性无效
3.轮播结构
<swiperv-if="carouselList.length>0"class="carousel swiper-container"ref="mySwiper"@slideChange="onSlideChange":options="swiperOption"><swiper-slidev-for="item in carouselList":key="item.id"><imgstyle="width:100%;height:100%"v-if="item.fileType=='IMG'":src="item.fileUrl"alt=""><video:ref="'video'+item.seq"autoplay@ended="videoend"style="width:100%;height:100%;object-fit: fill"v-if="item.fileType=='VIDEO'":src="item.fileUrl"></video></swiper-slide></swiper>
对于video标签,设置宽高后任然会出现高度与设置不匹配的问题,添加object-fit: fill属性
相关变量设置
swiperOption: {
autoplay: {
delay: 2000,
stopOnLastSlide: false,
disableOnInteraction: false, //操作swiper后不会停止播放
},
loop: true,
speed: 1000,
initialSlide: 0,
},
相关方法
onSlideChange(e) {
this.swiper = this.$refs.mySwiper.$swiper;
console.log(e.activeIndex);
// 由于轮播图前后无缝隙滚动的实现机制,此处索引会出现大于实际素材长度的个数,第0张实际也是最后一张,最后一张后面的一张实际是第一张
if (e.activeIndex > this.carouselList.length) {
this.curindex = 0;
return;
}
if (e.activeIndex == 0) {
this.curindex = this.carouselList.length - 1;
return;
}
this.curindex = e.activeIndex - 1;
if (this.carouselList[e.activeIndex - 1].fileType == "VIDEO") {
// 如果当前页是视频,停止轮播图自动切换,如果视频是暂停状态,开始播放
this.swiper.autoplay.stop();
let videoele = this.$refs["video" + e.activeIndex][0];
if (videoele.paused) {
videoele.play();
}
} else {
// 当前页是普通图片,开启视频自动轮播,将其他页面(主要是上一个可能为视频播放的页面)正在播放的视频暂停
this.swiper.autoplay.start();
this.carouselList.forEach((item, index) => {
if (item.fileType == "VIDEO") {
let videoele = this.$refs["video" + Number(index + 1)][0];
videoele.pause();
}
});
}
},
使用swiper实现视频和图片混合轮播相关推荐
- Android 视频图片 轮播,详解android 视频图片混合轮播实现
循环添加视频view 图片view for (int i = 0 ;i if (beansarraylist.get(i).gettype()==1){ videoplayer = new nice ...
- vue项目里面视频与图片的轮播
需求 仿照天猫等实现视频与图片的轮播效果 运用的控件有: 1.视频播放器:腾讯云点播超级播放器官方文档地址(一定要看) 2.轮播插件:iSlider----这是一个表现出众,轻量且高性能,无任何库依赖 ...
- Android 仿淘宝详情视频图片混合轮播
implementation 'com.github.bumptech.glide:glide:4.11.0' implementation 'androidx.recyclerview:recycl ...
- android带视频和图片的轮播(banner)解决方案
方案只包含一个视频和多张图片,如果又多个视频的,可以修改适配器中的的播放器为一个list,并且在滑动中做相应的释放操作 一:实现一个视频和多张图片的轮播banner,使用到第三方框架有 1.轮播的基础 ...
- html轮播视频插件上加文字,可加入视频、图片的轮播swiper插件(可以拖动、视频存在加载条)...
使用方法 css引用: html: 这是一个视频 自动播放 存在进度条 这是图片 图片放data-image 6秒滑动 js引用: js: $('#pbSlider0').pbTouchSlider( ...
- 仿京东淘宝商品详情页中视频和图片的轮播功能
还没有学会如何上传视频到博客上,先上传图片吧 案例下载地址: https://download.csdn.net/download/dawnzeng/10430298 视频播放借用了饺子播放器,最主要 ...
- 仿淘宝商品详情页[带有视频和图片的轮播功能]
因为工作需求的原因,自己写了一个demo,既实现了功能,又能与大家分享,很高兴!Demo已上传GitHub,https://github.com/xinniangdeweidao/CloneTaoba ...
- android 3d布局轮播,android 图片/视频混合轮播控件banner
android 图片/视频混合轮播控件banner 在youth5201314的图片轮播控件做的修改 原作者github地址:https://github.com/youth5201314/banne ...
- swiper怎么在HTML引入JS文件,Swiper.js插件超简单实现轮播图
Swiper是纯javascript打造的滑动特效插件,面向手机.平板电脑等移动终端.能实现触屏焦点图.触屏Tab切换.触屏多图切换等常用效果.超好用 话不多说,直接上教程 1.首先加载插件,需要用到 ...
最新文章
- Pytorch和CNN图像分类
- 第7章——狄克特斯拉算法
- Dev-Cpp\MinGW64\x86_64-w64-mingw32\include
- 在Flash CS6中安装动画辅助制作插件DragonBones
- 管理信息系统 第三部分
- “扎金花FANS”进行了改进
- MySQL的用户密码过期功能详解
- Android技能树 — Android存储路径及IO操作小结
- c语言显示cpuid_ccpuid:CPUID信息模块。范例:显示所有的CPUID信息
- Java基础知识笔记整理(零基础学Java)
- 公差带与配合 配合选择基础
- 中学生编程大赛_青少年编程竞赛汇总
- 黑客红客骇客红客蓝客飞客是什么?有什么区别?(学习资料)
- Apache Tomcat 文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)
- java 实现图片水印 文字水印
- 转账、汇款到账时间及手续费标准(招行和工行)
- 深度探讨,共创未来 | 思爱普(SAP) 助力碧桂园实现数字化转型
- 《智慧识人术》读书笔记
- 应用统计学与R语言实现学习笔记(三)——描述性统计
- 如何查找app启动页面