gpt4 book ai didi

javascript - JavaScript 中的垂直文档滚动位置,跨浏览器兼容至 IE 8

转载 作者:行者123 更新时间:2023-11-28 15:18:39 25 4
gpt4 key购买 nike

我想要 JavaScript 中文档元素的滚动位置,因为我无法使用 jQuery。

问题:获取文档垂直滚动位置的 JavaScript 代码是什么?我需要使其兼容 IE 8 和所有现代浏览器。

更新 1:我查看了作为此内容重复项给出的 2 个答案。第一个确实解决了我的问题,尽管它不关注跨浏览器解决方案,但第二个远远超出了我的需要。我需要文档的垂直滚动位置,而不是滚动到文档顶部。第二篇文章讨论了使用链接或逐步转到文档顶部,这没有解决我的问题。

更新2:根据 minitech 提供的答案,我想出了以下函数来确定适用于所有现代浏览器以及 IE 8 之前的滚动位置。我对此进行了测试,它适用于 Chrome、FireFox、Opera、Edge、IE 8、IE 9、IE 10 和 IE 11。

function getScrollY() {
return window.scrollY || window.pageYOffset || document.body.scrollTop;
}

function getScrollX() {
return window.scrollX || window.pageXOffset || document.body.scrollLeft;
}

最佳答案

Use the source:

var scrollPosition = window.pageYOffset;

兼容性说明:

  • document.body.scrollTop 在 Firefox 中不起作用(始终为 0);如果您想使用 scrollTop ,则为 document.documentElement.scrollTop 。相反,document.documentElement.scrollTop 在 Chrome 中始终为 0(还有 Blink 和 WebKit)。

  • window.scrollY 在 IE 8 及更早版本中不存在。

因此,为了兼容旧版 IE,请使用:

var scrollPosition =
'pageYOffset' in window ?
window.pageYOffset :
document.body.scrollTop;

关于javascript - JavaScript 中的垂直文档滚动位置,跨浏览器兼容至 IE 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32489760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com