为什么 $('html').offset().top 在 IE8 中返回静态值,而在普通浏览器中返回变量?

发布于 2024-10-28 21:06:03 字数 414 浏览 0 评论 0原文

具体来说,我正在谈论这段代码:

$(window).scroll(function(){ var loc = $('html').offset().top; });

为了提供一些上下文,它是一个长滚动页面,导航位于固定位置。我用它来跟踪用户基于鼠标的滚动并更新导航。它在 Firefox 和 Firefox 中非常有用。 Chrome - 当我滚动鼠标滚轮时 loc 的值会发生变化 - 但在 IE 中它仍然为 -2。

不确定这是否相关,但我正在使用 html5 对页面进行编码,因此我的文档类型是基本的:

<!doctype html>

而且我正在使用最新的 jquery 库。

有人有什么想法吗?

Specifically, I am talking about this code:

$(window).scroll(function(){ var loc = $('html').offset().top; });

To give some context, it's a long scrolling page with nav in a fixed position. I'm using this to track user mouse-based scrolling and update the navigation. It works a treat in Firefox & Chrome - the value of loc changing when I scroll the mousewheel - but in IE it remains at -2.

Not sure if this is relevant, but I'm coding the page using html5 so my doctype is the basic:

<!doctype html>

And I'm using latest jquery library.

Anyone have any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦情居士 2024-11-04 21:06:03

通过使用解决了这个问题:

var loc = $(window).scrollTop();

现在可以在 IE8 中工作。尚未在 IE 7 和 IE 中进行测试6. 我怀疑问题出在我糟糕的 javascript 知识上。希望这对某人有帮助。

Solved this by using:

var loc = $(window).scrollTop();

Works in IE8 now. Yet to test in IE 7 & 6. As I suspected problem lay with my poor javascript knowledge. Hope this helps someone.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文