offset().返回顶部窗口对象

mon*_*xas 4 jquery

我无法通过.

我需要从jquery对象获取offset().top,这是我的代码

parentLi = $(element).parents("li");
parentLiOffset = parentLi.offset();
top = parentLiOffset.top;
left = parentLiOffset.left;
console.log(parentLiOffset);
console.log(top);
console.log(left);
Run Code Online (Sandbox Code Playgroud)

这就是控制台回馈的内容:

Object { top=208, left=311}  
Window /demo/
311
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我无法获得"顶级"价值.我是firefox,如果这有任何区别的话.

谢谢!

Jam*_*ice 13

问题是您没有使用var关键字来声明变量.topwindow(只读属性的属性,这就是您的代码不会覆盖它的原因).改为:

var top = parentLiOffset.top;
var left = parentLiOffset.left;
Run Code Online (Sandbox Code Playgroud)

left没有工作var,因为left不属于window.您的代码创建一个windownamed 属性left并为其分配正确的值.但是,最好始终使用var关键字来防止变量泄漏到全局范围.

top财产"返回到窗口层次结构的最顶层窗口的引用".