Javascript HTML5音频元素-搜索滑块-未能设置';当前时间';在'上的属性;HTMLMEDIALEMENT';:提供的双精度值是非有限的

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

这是我关于堆栈溢出的第一个问题;如果我做错了道歉

我正在尝试使用Web音频API为自己创建一个漂亮的小音频播放器。然而,我遇到了一个问题,试图创建一个“搜索”功能,让用户在歌曲中跳过

HTML:

错误:

未能设置“HTMLMediaElement”的“currentTime”属性:提供的双精度值是非有限的

现在,
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;
}