视频列表:点击某个视频进行播放,其余视频全部暂停(同时只播放一个视频)
目录
- 需求
- 实现原理
- 实现代码
- 页面展示
需求
视频列表:点击某个视频进行播放,其余视频全部暂停(
同时只播放一个视频)
实现原理
- 在 video 标签添加
自定义属性 id(必须唯一)- 给每个 video 标签
添加 play 视频播放事件- 播放视频时,触发 play 事件,通过添加的自定义属性 id 判断,将
非当前播放视频都暂停
实现代码
<!-- 查看视频 -->
<template><el-drawertitle="查看视频"size="70%":visible.sync="drawerVisible"destroy-on-close:before-close="handleClose"><div class="list"><div v-for="item in videoList" :key="item.id"><!-- 【主要代码】添加自定义属性 id --><video width="100%" controls="controls" :data-id="item.id"><source src="./video.mp4" type="video/mp4" /></video></div></div></el-drawer>
</template><script>
export default {name: 'VideoListDrawer',data() {return {drawerVisible: false,drawerType: '',videoList: [...Array(20).keys()].map((item) => {return {id: item}}),currentVideo: ''}},methods: {open(type, rowData) {this.drawerType = typesetTimeout(() => {this.getVideoDom()}, 500)this.drawerVisible = true},// 【主要代码】视频播放暂停处理函数getVideoDom() {const videoList = document.querySelectorAll('video')videoList.forEach((item) => {// 每个 video 添加 play 监听事件item.addEventListener('play', (e) => {// 获取当前播放视频的自定义属性 id 的值this.currentVideo = e.target.dataset.id// 遍历所有 video 标签,将非当前播放视频都暂停videoList.forEach((i) => {if (i.dataset.id !== this.currentVideo) {i.pause() // 暂停视频}})})})},handleClose() {this.drawerVisible = false}}
}
</script><style lang='scss' scoped>
::v-deep .el-drawer {.el-drawer__header {text-align: left;}.el-drawer__body {padding: 10px 20px;text-align: left;.btns {margin-bottom: 10px;}.list {display: flex;flex-wrap: wrap;> div {width: calc(50% - 10px);margin-right: 10px;margin-bottom: 10px;}}}
}
</style>
页面展示

相关文章:
视频列表:点击某个视频进行播放,其余视频全部暂停(同时只播放一个视频)
目录 需求实现原理实现代码页面展示 需求 视频列表:点击某个视频进行播放,其余视频全部暂停(同时只播放一个视频) 实现原理 在 video 标签添加 自定义属性 id (必须唯一)给每个 video 标签 添加 play 视频播放事件播放视频时&…...
论文-分布式-共识,事务以及两阶段提交的历史描述
这是一段关于一致性,事务以及两阶段提交的历史的描述阅读关于一致性的文献可能会有些困难,因为: 各种用语在不断的演化着(比如一致性<consensus>最初叫做协商<agreement>); 各种研究成果并不是以一种逻辑性的顺序产生…...
[100天算法】-二叉树剪枝(day 48)
题目描述 给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1。返回移除了所有不包含 1 的子树的原二叉树。( 节点 X 的子树为 X 本身,以及所有 X 的后代。)示例1: 输入: [1,null,0,0,1] 输出: [1,null,0,null,1]示例2: 输入: […...
常用编程语言排行与应用场景汇总(2023.10)
文章目录 编程语言排行一、Python二、C三、C四、Java五、C#六、JavaScript七、VB(Visual Basic)八、PHP九、SQL十、ASM(Assembly Language)十一、Go十二、Scratch十三、Delphi/Object Pascal十四、MATLAB十五、Swift十六、Fortran…...
基于 MySQL 多通道主主复制的机房容灾方案
文章中介绍了多种 MySQL 高可用技术,并介绍了根据自身需求选择多通道主主复制技术的过程和注意事项。 作者:徐良,现任中国移动智慧家庭运营中心数据库高级经理,多年数据库运维优化经验,历任华为、一线互联网公司高级 D…...
视频汇聚平台EasyCVR分发的流如何进行token鉴权?具体步骤是什么?
视频监控EasyCVR平台能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视…...
B-5:网络安全事件响应
B-5:网络安全事件响应 任务环境说明: 服务器场景:Server2216(开放链接) 用户名:root密码:123456 1.黑客通过网络攻入本地服务器,通过特殊手段在系统中建立了多个异常进程,找出启动异常进程的脚本,并将其绝对路径作为Flag值提交; 通过nmap扫描我们发现开启了22端口,…...
第17期 | GPTSecurity周报
GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练 Transformer(GPT)、人工智能生成内容(AIGC)以及大型语言模型(LLM)等安全领域应用的知识。在这里,您可以…...
透视俄乌网络战之五:俄乌网络战的总结
透视俄乌网络战之一:数据擦除软件 透视俄乌网络战之二:Conti勒索软件集团(上) 透视俄乌网络战之三:Conti勒索软件集团(下) 透视俄乌网络战之四:西方科技巨头的力量 俄乌网络战总结 1…...
深度学习之基于Pytorch卷积神经网络的图像分类系统
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介二、功能三、图像分类系统四. 总结 一项目简介 基于PyTorch卷积神经网络的图像分类系统是一种应用深度学习技术来实现图像分类任务的系统。本摘要将对该系统…...
外观专利怎么申请?申请外观专利需要的资料有哪些?
专利分为发明专利、实用新型专利和外观设计专利三类。 我国专利法规定,发明专利的保护期限最长,为自申请日起20年。同时,由于需要进行实质审查,发明专利的审查周期也相对较长,往往需要2年甚至更长时间才能获得授权。 随…...
【Amazon】跨AWS账号资源授权存取访问
文章目录 一、实验框架图二、实验过程说明三、实验演示过程1、在A账号中创建S3存储桶2、在A账号创建S3存储桶访问策略3、在A账号创建信任开发账号的角色4、在B账号为用户添加内联策略5、在B账号中切换角色,以访问A账号中的S3资源 四、实验总结 一、实验框架图 本次…...
探索C++中的不变之美:const与构造函数的深度剖析
W...Y的主页😊 代码仓库分享💕 🍔前言: 关于C的博客中,我们已经了解了六个默认函数中的四个,分别是构造函数、析构函数、拷贝构造函数以及函数的重载。但是这些函数都是有返回值与参数的。提到参数与返回…...
DDoS类型攻击对企业造成的危害
超级科技实验室的一项研究发现,每十家企业中,有四家(39%)企业没有做好准备应对DDoS攻击,保护自身安全。且不了解应对这类攻击最有效的保护手段是什么。 由于缺乏相关安全知识和保护,使得企业面临巨大的风险。 当黑客发动DDoS攻击…...
深入理解JVM虚拟机第十五篇:虚拟机栈常见异常以及如何设置虚拟机栈的大小
大神链接:作者有幸结识技术大神孙哥为好友,获益匪浅。现在把孙哥视频分享给大家。 孙哥链接:孙哥个人主页 作者简介:一个颜值99分,只比孙哥差一点的程序员 本专栏简介:话不多说,让我们一起干翻JavaScript 本文章简介:话不多说,让我们讲清楚JavaScript里边的Math 文章目…...
Rocketmq5延时消息最大时间
背景 Rocketmq5中支持延时消息的时间,通过Message.setDelayTimeSec可以设置延时消息的精确时间。 问题 当设置时间超过3天时出现异常 org.apache.rocketmq.client.exception.MQBrokerException: CODE: 13 DESC: timer message illegal, the delay time should no…...
uniapp @click点击事件在新版chrome浏览器点击没反应
问题描述 做项目时,有一个弹出选择的组件,怎么点都不出来,最开始还以为是业务逻辑限制了不能点击。后来才发现别人的电脑可以点出来,老版本的浏览器也可以点出来,最后定位到是新版的chrome就不行了 这是我的浏览器版本…...
beanDefinition读取器
编程式定义 BeanDefinition:自定义一个BeanDefinition, AbstractBeanDefinition beanDefinition BeanDefinitionBuilder.genericBeanDefinition().getBeanDefinition(); 设置beanClass 注册到容器中 B…...
linux 上flink单机安装详解
目录 一 准备安装包 二 解压 三 配置环境变量 四 验证是否部署成功 一 准备安装包 官网地址: Downloads | Apache Flink 百度网盘资源: 链接: https://pan.baidu.com/s/15aXmF3JLxnOlPiDxId637Q?pwdsqsx 提取码: sqsx 这里准备的版本是flink1.13…...
数据链路层中存在的报文ip,arp,rarp
IP数据报 ARP请求/应答报 RARP请求/应答报 IP数据报 这里的目的地址和源地址是MAC地址。 这个被称为 MAC 地址,是一个网卡的物理地址,用十六进制,6 个 byte 表示。 MAC 地址是一个很容易让人误解的地址。因为 MAC 地址号称全球唯一&…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
