优雅地恢复html5视频播放完毕后的封面图
许多开发者在使用HTML5 <video></video> 元素时,会预设一张封面图片以增强用户体验。然而,视频播放结束后,封面图消失,页面显得空旷。本文探讨如何巧妙解决此问题,避免重新加载图片造成带宽浪费。

问题:视频播放结束后如何恢复显示预设的封面图,同时避免重新加载图片?
解决方案:利用HTML5 <video></video> 元素的 onended 事件。该事件在视频播放结束后触发,我们可以利用它来控制封面图片的显示状态。无需重新加载图片,只需改变图片的显示属性即可。
示例代码:
立即学习“前端免费学习笔记(深入)”;
<video controls src="/i/movie.ogg" onended="restoreCover()">
您的浏览器不支持 video 标签。
</video>
<img src="https://img.php.cn/upload/article/001/246/273/174148453496391.jpg" alt="HTML5视频播放完毕后如何优雅地恢复封面图?
" />
<script>
function restoreCover() {
document.getElementById('videoCover').style.display = 'block';
}
</script>
这段代码中,我们添加了一个 <img alt="HTML5视频播放完毕后如何优雅地恢复封面图?" > 标签作为封面图,初始状态设置为隐藏 (display:none;)。 onended 事件调用 restoreCover() 函数,该函数将封面图的 display 属性设置为 block,从而显示封面图。 请将 /path/to/cover.jpg 替换为您的封面图片路径。
这种方法有效避免了图片的重新加载,节省了带宽,并提供了一种更优雅的用户体验。 您还可以根据需要在 restoreCover() 函数中添加其他操作,例如为封面图添加点击事件等。



















