23

我试图找到滚动条的垂直位置一个类似于 jQuery 的 scrollTop() 但没有 jQuery 的函数。有没有其他选择?

4

3 回答 3

47

跨浏览器解决方案:

var supportPageOffset = window.pageXOffset !== undefined;
var isCSS1Compat = ((document.compatMode || "") === "CSS1Compat");

var scrollLeft = supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;
var scrollTop = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;

来源

于 2012-06-25T16:48:39.983 回答
13

是的,滚动位置存在于 DOM 中:

window.scrollY;  //for vertical scroll.

我是怎么发现的:

  1. 在 Chrome 中,右键单击并选择检查元素。
  2. 找到并单击“显示控制台”按钮(左下角)
  3. 在控制台中键入 window.scroll 以查看选项。

- 这是一个解决大量 JavaScript 问题的特殊工作流程。

我将 window.scrollTo(0) 视为滚动到顶部的选项。

于 2012-06-25T16:40:22.057 回答
5

scrollX 和 scrollY.... scrollY 相当于 jqueryscrollTop()

于 2012-06-25T16:39:55.267 回答