Javascript 数组中div与窗口顶部的距离

Javascript 数组中div与窗口顶部的距离,javascript,jquery,Javascript,Jquery,我试图从窗口顶部获取数组中div的距离,但收到错误“player.offset不是函数”。我哪里出了问题,任何帮助都将不胜感激 constplayers=Array.from(document.querySelectorAll('.jsplayer'); $(窗口).on('scroll',函数(){ 让scrollTop=$(窗口).scrollTop(); console.log(scrollTop) players.forEach(函数(播放器){ 让playerOffset=playe

我试图从窗口顶部获取数组中div的距离,但收到错误“player.offset不是函数”。我哪里出了问题,任何帮助都将不胜感激

constplayers=Array.from(document.querySelectorAll('.jsplayer');
$(窗口).on('scroll',函数(){
让scrollTop=$(窗口).scrollTop();
console.log(scrollTop)
players.forEach(函数(播放器){
让playerOffset=player.offset().top,
距离=(播放器偏移-滚动顶部);
console.log(播放器偏移量、距离)
})
});
.js播放器{
高度:100px;
宽度:100px;
利润率:100像素;
背景颜色:红色
}

player
是一个js元素
offset()
是一个jquery函数。因此,您需要一个jquery对象:

 $(player).offset().top

但是从长远来看,您应该使用纯js或纯jquery,但不要混用它们,这只会造成混乱(如本例所示)。

player
是一个js元素
offset()
是一个jquery函数。因此,您需要一个jquery对象:

 $(player).offset().top

但是,从长远来看,您应该使用纯js或纯jquery,但不要混用它们,这只会造成混乱(如本例所示)。

您必须在DOM元素上使用偏移量,类似的方法应该可以:

$('.js-player').offset().top - $('.js-player').offset().top

必须在DOM元素上使用偏移量,类似这样的方法应该可以工作:

$('.js-player').offset().top - $('.js-player').offset().top
.offset()是一个jQuery函数,请参阅

您应该将player变量包装到jQuery中并调用.offset()。top如下所示:

let playerOffset = $(player).offset().top;
或者使用本机HTMLElementoffsetTop值,请参见此处

.offset()是一个jQuery函数,请参阅

您应该将player变量包装到jQuery中并调用.offset()。top如下所示:

let playerOffset = $(player).offset().top;
或者使用本机HTMLElementoffsetTop值,请参见此处


另外,
playerTop
不存在。另外,
playerTop
不存在。