我正在创建一个视频播放器,我想创建一个函数来显示相当于输入范围悬停部分的视频时间。
我创建了一个函数,但它给我的时间不准确。
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;
}
最佳答案
计算min
和sec
的逻辑不正确,请考虑以下代码。
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/