javascript - 如何获得相当于输入类型范围的视频播放器的时间

标签 javascript html5-video

我正在创建一个视频播放器,我想创建一个函数来显示相当于输入范围悬停部分的视频时间。

enter image description here

我创建了一个函数,但它给我的时间不准确。

function getHoveredTime(e) {

    const time = e.offsetX * video.duration / e.target.getBoundingClientRect().width;

    const min = Math.floor(time / 60);
    const sec = Math.floor(time - min * 60);

    return min + ':' + sec;
}

最佳答案

计算minsec 的逻辑不正确,请考虑以下代码。

function getHoveredTime(e) {
    const scale = e.offsetX / e.target.getBoundingClientRect().width;
    const time = parseInt(video.duration * scale);
    const min = parseInt(time / 60);
    const sec = time % 60;    
    return min + ':' + sec;
}

更新

问题是因为“比例”被四舍五入了。 https://jsfiddle.net/73wubmxr/

关于javascript - 如何获得相当于输入类型范围的视频播放器的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58641634/

相关文章:

javascript - 如何评估 svelte 存储字符串中的值

javascript - Video Track Element 仅在 Google Chrome 上触发加载事件

javascript - 在页面上循环多个视频并访问内部元素 - Javascript

javascript - 当我尝试隐藏 Card 样式的侧边栏时出现奇怪的行为

javascript - 我怎样才能同时遍历三个div框

javascript - CSS动画向前然后向后闪烁

javascript - 只有第一个元素显示

javascript - 如何使用 Emotion SDK for Javascript 批量处理视频文件

HTML5 <video> Chrome 中的播放器控件右侧打开空白屏幕上的三个点

javascript - 哪些字节的视频数据是指当前播放位置