$(window).scrollTop()与$(document).scrollTop()

时间:2011-03-20 20:04:42

标签: javascript jquery window document scrolltop

有什么区别:

$(window).scrollTop()

$(document).scrollTop()

感谢。

4 个答案:

答案 0 :(得分:141)

他们都将具有相同的效果

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

答案 1 :(得分:33)

首先,您需要了解窗口和文档之间的区别。窗口对象是顶级客户端对象。窗口对象上方没有任何内容。 Javascript是面向对象的语言。您从一个对象开始,并将方法应用于它的属性或它的对象组的属性。例如,文档对象是窗口对象的对象。要更改文档的背景颜色,您需要设置文档的bgcolor属性。

window.document.bgcolor = "red" 

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

检查http://jsfiddle.net/7VRvj/6/

处的工作示例

一般使用文档主要是注册事件和使用窗口来做滚动,scrollTop和调整大小等事情。

答案 2 :(得分:5)

Cross browser way of doing this is

var top = ($(window).scrollTop() || $("body").scrollTop());

答案 3 :(得分:0)

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

最后,我使用选择器$('*').scrollTop(0);

Firefox IE 上解决了这个问题

如果你有不想要影响的元素但它绕过Document,Body,HTML和Window差异,那就不完美了。如果它有帮助...