video-js
是一个流行的开源 HTML5 视频播放器,提供了丰富的 API 和可定制的界面。用户不活动时切换组件的可见性通常涉及到前端开发中的状态管理和事件监听。
以下是一个使用 JavaScript 和 video-js
实现用户不活动时切换视频播放器可见性的示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Video.js Visibility Toggle</title>
<link href="https://vjs.zencdn.net/7.14.3/video-js.css" rel="stylesheet" />
</head>
<body>
<video id="my-video" class="video-js vjs-default-skin" controls preload="auto" width="640" height="264">
<source src="your-video-file.mp4" type="video/mp4" />
</video>
<script src="https://vjs.zencdn.net/7.14.3/video.min.js"></script>
<script>
let player = videojs('my-video');
let timeout;
function resetTimer() {
clearTimeout(timeout);
player.show();
timeout = setTimeout(() => {
player.hide();
}, 5000); // 5 seconds of inactivity
}
document.addEventListener('mousemove', resetTimer);
document.addEventListener('mousedown', resetTimer);
document.addEventListener('keypress', resetTimer);
resetTimer(); // Start the timer initially
</script>
</body>
</html>
player.hide()
方法正确调用,并且没有其他 CSS 样式阻止了元素的隐藏。setTimeout
和 clearTimeout
方法正确使用,避免计时器被意外重置或清除。通过上述方法,你可以实现用户不活动时切换 video-js
组件的可见性,从而提升用户体验和页面性能。
领取专属 10元无门槛券
手把手带您无忧上云