html js css如何使循环混播放视频时视频切换很平滑的过渡

1.html代码

java 复制代码
<video id="video1" autoplay loop muted playsinline>
  <source src="video1.mp4" type="video/mp4">
</video>
<video id="video2" autoplay loop muted playsinline>
  <source src="video2.mp4" type="video/mp4">
</video>
<!-- 其他视频... -->

2.css代码

java 复制代码
video {
		     object-fit: fill;  
		}
  1. js代码
java 复制代码
const videos = document.querySelectorAll('video');
let currentVideoIndex = 0;
 
function playNextVideo() {
  const currentVideo = videos[currentVideoIndex];
  currentVideo.addEventListener('ended', () => {
    currentVideo.style.display = 'none'; // 隐藏当前视频
    currentVideoIndex = (currentVideoIndex + 1) % videos.length; // 计算下一个视频的索引
    videos[currentVideoIndex].style.display = ''; // 显示下一个视频
    videos[currentVideoIndex].play(); // 播放下一个视频
  });
}
 
playNextVideo(); // 开始循环播放
相关推荐
Doris89314 分钟前
【JS】Web APIs BOM与正则表达式详解
前端·javascript·正则表达式
南游15 分钟前
后台计时器罢工?我改用visibilitychange监听,代码从此‘永不停机’!
javascript
晚霞的不甘21 分钟前
实战进阶:构建高性能、高可用的 Flutter + OpenHarmony 车载 HMI 系统
开发语言·javascript·flutter
网络点点滴27 分钟前
pinia简介
开发语言·javascript·vue.js
局i28 分钟前
v-for 与 v-if 的羁绊:Vue 中列表渲染与条件判断的爱恨情仇
前端·javascript·vue.js
狮子座的男孩32 分钟前
js函数高级:06、详解闭包(引入闭包、理解闭包、常见闭包、闭包作用、闭包生命周期、闭包应用、闭包缺点及解决方案)及相关面试题
前端·javascript·经验分享·闭包理解·常见闭包·闭包作用·闭包生命周期
风止何安啊1 小时前
从 “牵线木偶” 到 “独立个体”:JS 拷贝的爱恨情仇(浅拷贝 VS 深拷贝)
前端·javascript·面试
漫天黄叶远飞1 小时前
地址与地基:在 JavaScript 的堆栈迷宫里,重新理解“复制”的哲学
前端·javascript·面试
小书包酱1 小时前
告别在 vue 中使用公共 less 文件没有提示信息的烦恼
css·vue.js·less
ohyeah1 小时前
深入理解 JavaScript 中的继承与 instanceof 原理
前端·javascript