Javascript 如何获得与输入类型范围等效的视频播放器时间

Javascript 如何获得与输入类型范围等效的视频播放器时间,javascript,html5-video,Javascript,Html5 Video,我正在创建一个视频播放器,我想创建一个函数,它将显示视频时间,这是等效的输入范围悬停部分 我创建了一个函数,但它给出的时间不准确 function getHoveredTime(e) { const time = e.offsetX * video.duration / e.target.getBoundingClientRect().width; const min = Math.floor(time / 60); const sec = Math.floor(t

我正在创建一个视频播放器,我想创建一个函数,它将显示视频时间,这是等效的输入范围悬停部分

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

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;
}
更新

问题是因为“尺度”正在四舍五入。

当我停留在输入范围上时,等效输入范围是什么意思。谢谢,但它给了我不准确的时间。例如,它返回0:18,但当我单击range video current time=0:16时,从技术上讲它应该可以工作,因为您只是根据偏移量缩放video.duration并获取时间。您唯一可以尝试调整的地方可能是
e.offsetX
,因为其他一切都是常量,您可以共享一段代码来重现错误吗?我不知道你到底出了什么问题。你知道另一种获得时间的方法吗?