以下是“什么是”的不同之处:
$(window).scrollTop()
并且
$(document).scrollTop()
感谢您的选择。
谢谢。
以下是“什么是”的不同之处:
$(window).scrollTop()
$(document).scrollTop()
它们都将有相同的效果。
但是,正如评论中指出的那样:$(window).scrollTop()
被更多的Web浏览器支持比$('html').scrollTop()
.
scrollTop()
是一个获取器,scrollTop(value)
是一个设置器。不带参数的scrollTop()
不会改变滚动位置。 - user1107907首先,你需要了解window
和document
之间的区别。 window
对象是一个顶级客户端对象。在window
对象之上没有任何东西。JavaScript是一种面向对象的语言。您从一个对象开始,并将方法应用于其属性或其对象组的属性。例如,document
对象是window
对象的一个对象。要更改document
的背景颜色,您需要设置document
的bgcolor
属性。
window.document.bgcolor = "red"
回答你的问题,window
和document
scrollTop
在最终结果上没有区别。两者将给出相同的输出。document
来注册事件,并使用window
来执行像scroll
、scrollTop
和resize
这样的操作。var top = ($(window).scrollTop() || $("body").scrollTop());
$("body").scrollTop()
始终返回0。 - Jonathan Parent Lévesque$("body").scrollTop()
已经被弃用,在Chrome或FF上不再起作用(参见https://bugs.chromium.org/p/chromium/issues/detail?id=766938)。它将返回0。 - Jorge Lazo我刚遇到了这里描述的scrollTop
类似的问题。
最终,我通过使用选择器$('*').scrollTop(0);
在Firefox和IE上解决了这个问题。
如果你有不想影响的元素,这并不完美,但它可以解决文档、正文、HTML和窗口之间的差异。如果有帮助...
$("html,body").scrollTop(val)
-- 从未遇到任何问题。 - Roi