190

有什么区别:

$(window).scrollTop()

$(document).scrollTop()

谢谢。

4

4 回答 4

157

它们都将产生相同的效果

但是,正如评论中所指出的:$(window).scrollTop()支持的网络浏览器多于$('html').scrollTop().

于 2011-03-20T20:45:33.920 回答
39

window首先,您需要了解和之间的区别document。该window对象是顶级客户端对象。window物体上方没有任何东西。JavaScript 是一种面向对象的语言。您从一个对象开始,然后将方法应用于其属性或其对象组的属性。例如,document对象是对象的window对象。要更改document' 的背景颜色,您需要设置document'bgcolor属性。

window.document.bgcolor = "red" 

window要回答您的问题,和之间的最终结果没有区别document scrollTop。两者都会给出相同的输出。

在http://jsfiddle.net/7VRvj/6/检查工作示例

通常document主要用于注册事件并用于window执行诸如scrollscrollTop和之类的事情resize

于 2011-03-20T20:41:06.977 回答
4

跨浏览器的方法是

var top = ($(window).scrollTop() || $("body").scrollTop());
于 2016-10-20T12:54:04.907 回答
0

我刚刚遇到了一些与scrollTop此处描述的类似问题。

最后,我通过使用选择器在FirefoxIE上解决了这个问题$('*').scrollTop(0);

如果您有不想影响的元素,但它绕过了 Document、Body、HTML 和 Window 差异,这并不完美。如果有帮助...

于 2012-11-22T14:08:09.453 回答