【发布时间】:2019-05-07 15:41:17
【问题描述】:
我正在使用以下代码尝试根据用户单击seekBar 的位置在指定时间更新HTML5 video 的currentTime 属性。但是,我所拥有的只是添加当前视频时间,而不是 seekBar 点击选择的时间。我在time 变量中的计算是否错误?任何帮助将不胜感激。
<video id="video" src="videourl.com" preload></video>
<input id="seek-bar" type="range" min="0" max="100" value="0" step="0.05">
// Vars
var video = document.getElementById('video');
var seekBar = document.getElementById('seek-bar');
// Create clickable seek bar and update video position
seekBar.on('input change', function() {
// Calculate the new time
var time = video[0].duration * (seekBar.value / 100);
// Update the video time
video[0].currentTime = time;
});
【问题讨论】:
-
我在你的 sn-p 中没有看到
id="video" -
另外
getElementById()不返回数组。所以video[0]无效。 -
seekBar不是 jQuery 对象,所以应该是$(seekBar).on(...) -
计算看起来不错。其余的,没有。它实际上应该引发一些错误。只需在诸如jsbin.com 之类的操场上对其进行测试,然后打开控制台。也许它会帮助您了解究竟是什么问题..
-
@moshfeu 谢谢,你能帮忙解开吗?这有点超出我的知识范围。