使用loop属性可实现html视频循环播放,只需在video标签中添加loop即可自动重复播放,常用于背景视频;配合muted、autoplay等属性提升兼容性,尤其在移动端需静音才能自动循环;也可通过javaScript监听ended事件自定义控制循环,但直接使用loop更简洁高效。

要在HTML中让视频循环播放,只需要使用loop属性即可。这个属性非常简单实用,能确保视频播放结束后自动从头开始重复播放,适合用于背景视频或需要持续展示的场景。
1. 使用 loop 属性实现循环播放
在 <video> 标签中添加 loop 属性,浏览器就会自动循环播放视频。
- 该属性是布尔类型,只要存在就生效,无需赋值
- 可以和其他常用属性如
controls、muted、autoplay配合使用
示例代码:
<video width="640" height="360" controls loop> <source src="example.mp4" type="video/mp4"> 您的浏览器不支持 video 标签。 </video>
2. 注意事项与常见问题
虽然 loop 属性使用简单,但实际应用中仍有一些细节需要注意,以保证兼容性和用户体验。
立即学习“前端免费学习笔记(深入)”;
- 某些浏览器(尤其是移动端)会阻止带声音的自动播放,建议搭配
muted使用实现自动循环播放 - 如果视频有音轨且未静音,loop 可能在部分设备上失效
- 确保视频格式兼容主流浏览器(推荐使用 MP4 格式)
增强兼容性的写法示例:
<video width="640" height="360" autoplay loop muted playsinline> <source src="bg-video.mp4" type="video/mp4"> 您的浏览器不支持视频播放。 </video>
3. javascript 控制循环播放(可选进阶)
除了 HTML 属性,也可以通过 JavaScript 监听 ended 事件手动控制重播,适用于需要自定义逻辑的场景。
示例代码:
<video id="myVideo" width="640" height="360" controls> <source src="example.mp4" type="video/mp4"> </video> <script> const video = document.getElementById('myVideo'); video.addEventListener('ended', function() { this.currentTime = 0; this.play(); }); </script>
- 这种方式更灵活,可加入延迟、计数等逻辑
- 但通常情况下直接使用
loop更简洁高效
基本上就这些。使用 loop 属性是最直接有效的HTML视频循环播放方法,配合 muted 和 autoplay 能在大多数环境下稳定运行。不复杂但容易忽略细节。