video.js点击进度条事件
时间: 2023-08-02 07:06:02 浏览: 549
videojs-markers.js 增加进度条指定时间预览图
在使用 video.js 进行开发时,可以通过监听 `timeupdate` 事件来获取视频播放进度的变化。然后,可以通过监听 `click` 事件来捕捉用户点击进度条的操作。下面是一个示例代码:
```javascript
var player = videojs('my-video');
player.on('timeupdate', function() {
// 获取当前播放时间
var currentTime = player.currentTime();
// 获取视频总时长
var duration = player.duration();
// 计算当前播放进度
var progress = (currentTime / duration) * 100;
// 在控制台打印当前播放进度
console.log('当前播放进度:' + progress + '%');
});
player.on('click', function(event) {
// 获取点击事件的坐标
var clickX = event.clientX;
// 获取进度条的宽度
var progressBarWidth = player.controlBar.progressControl.el().offsetWidth;
// 计算点击位置在进度条的百分比
var clickProgress = (clickX / progressBarWidth) * 100;
// 跳转到对应的播放位置
var duration = player.duration();
var seekTime = (clickProgress / 100) * duration;
player.currentTime(seekTime);
});
```
以上代码中,`my-video` 是视频元素的 ID,你需要根据实际情况进行修改。在 `timeupdate` 事件中,我们可以获取当前播放时间、视频总时长,并计算出当前播放进度。在 `click` 事件中,我们可以获取点击事件的坐标,并根据进度条的宽度计算出点击位置在进度条的百分比,然后通过 `currentTime` 方法将视频跳转到对应的播放位置。
阅读全文