Javascript HTML5音频元素-搜索滑块-未能设置';当前时间';在'上的属性;HTMLMEDIALEMENT';:提供的双精度值是非有限的
这是我关于堆栈溢出的第一个问题;如果我做错了道歉 我正在尝试使用Web音频API为自己创建一个漂亮的小音频播放器。然而,我遇到了一个问题,试图创建一个“搜索”功能,让用户在歌曲中跳过 HTML: 错误: 未能设置“HTMLMediaElement”的“currentTime”属性:提供的双精度值是非有限的 现在,Javascript HTML5音频元素-搜索滑块-未能设置';当前时间';在'上的属性;HTMLMEDIALEMENT';:提供的双精度值是非有限的,javascript,jquery,html,audio,web-audio-api,Javascript,Jquery,Html,Audio,Web Audio Api,这是我关于堆栈溢出的第一个问题;如果我做错了道歉 我正在尝试使用Web音频API为自己创建一个漂亮的小音频播放器。然而,我遇到了一个问题,试图创建一个“搜索”功能,让用户在歌曲中跳过 HTML: 错误: 未能设置“HTMLMediaElement”的“currentTime”属性:提供的双精度值是非有限的 现在,console.log(typeof(seekslider.value))返回一个数字。 但是,console.log(seekslider.value)返回NaN 我知道current
console.log(typeof(seekslider.value))
返回一个数字。
但是,console.log(seekslider.value)
返回NaN
我知道currentTime
的值是一个带小数点的浮点值
我曾尝试:
parseFloat(e.clientX - seekslider.offsetLeft);
除了使用parseFloat
解决此问题的许多其他尝试之外
我只是有点困惑。我真诚地感谢你们提供的任何帮助。大家好。我已经解决了我的问题。jQuery似乎不能很好地与web音频API配合使用 改变
var seekslider=$(“#seekslider”)代码>到
var seekslider=document.getElementById('seekslider')代码>
使程序工作。我将保留这个选项,以防它绊倒其他新手开发人员,比如我自己。这本身不是jQuery的问题
问题是JQuery对象没有offsetLeft
。只有实际的DOM元素才具有该属性
因此,实际上您所做的是e.clientX-未定义的
,这当然是NaN
isFinite()将解决此错误:
if (!isFinite(seekto)) {
console.log(seekto);
audio.currentTime = seekto;
}
嘿,凯文。谢谢你的解释,非常清楚。非常感谢!
parseFloat(e.clientX - seekslider.offsetLeft);
if (!isFinite(seekto)) {
console.log(seekto);
audio.currentTime = seekto;
}