为什么 $('html').offset().top 在 IE8 中返回静态值,而在普通浏览器中返回变量?
具体来说,我正在谈论这段代码:
$(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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通过使用解决了这个问题:
现在可以在 IE8 中工作。尚未在 IE 7 和 IE 中进行测试6. 我怀疑问题出在我糟糕的 javascript 知识上。希望这对某人有帮助。
Solved this by using:
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.