轻松上手,快乐学习!

Window pageXOffset 和 pageYOffset 属性


实例

垂直和水平滚动 100 个像素的内容,并弹出 pageXOffset 和 pageYOffset:

window.scrollBy(100, 100);
alert(window.pageXOffset + window.pageYOffset);
亲自试一试 »

页面下方有更多实例。


定义和用法

pageXOffset 和 pageYOffset 属性返回文档在窗口左上角水平和垂直方向滚动的像素。

pageXOffset 设置或返回当前页面相对于窗口显示区左上角的 X 位置。pageYOffset 设置或返回当前页面相对于窗口显示区左上角的 Y 位置。

pageXOffset 和 pageYOffset 属性相等于 scrollX 和 scrollY 属性。

这些属性是只读的。


浏览器支持

表中的数字表示支持该属性的第一个浏览器版本。

属性
pageXOffset Yes 9.0 Yes Yes Yes
pageYOffset Yes 9.0 Yes Yes Yes

注释: IE 8 及 更早 IE 版本不支持该属性,但可以使用 document.documentElement.scrollLeft 和 document.documentElement.scrollTop 属性 。


语法

window.pageXOffset
window.pageYOffset

技术细节

返回值: 一个数值,表示文档已从窗口左上角水平和垂直滚动的像素数

更多实例

实例

跨浏览器兼容解决方案(对于IE8及更早版本,使用scrollLeft和scrollTop):

window.scrollBy(100, 100);

if (window.pageXOffset !== undefined) { // All browsers, except IE9 and earlier
  alert(window.pageXOffset + window.pageYOffset);
} else { // IE9 and earlier
  alert(document.documentElement.scrollLeft + document.documentElement.scrollTop);
}
亲自试一试 »

实例

创建一个粘性导航栏:

// Get the navbar
var navbar = document.getElementById("navbar");

// Get the offset position of the navbar
var sticky = navbar.offsetTop;
// Add the sticky class to the navbar when you reach its scroll position. Remove the sticky class when you leave the scroll position.
function myFunction() {
  if (window.pageYOffset  >= sticky) {
    navbar.classList.add("sticky")
  } else {
    navbar.classList.remove("sticky");
  }
}
亲自试一试 »

❮ Window 对象