javascript - 跨浏览器 : Detecting scroll position JS only

标签 javascript html scroll horizontal-scrolling vertical-scrolling

我四处寻找这个问题的答案,终于找到了。我写这篇文章的目的是希望为 future 的程序员节省大量时间并减少挫败感。

如果您想查看添加的内容或有任何疑问,请在下面发表评论,我会添加它。随着人们提出问题,这将成为更完整的答案。

最佳答案

这是一个在三大浏览器(IE、Chrome、Firefox)上查找/检测滚动条位置的解决方案。如果您发现这些浏览器的某个版本无法运行,请告诉我,我将编辑此答案以包含该信息。

Older versions of chrome:
var scrollTop = document.body.scrollTop; //Chrome
var scrollLeft = document.body.scrollLeft; //Chrome

Chrome > v.78.0.3904.97 (That I know of)
var scrollTop = window.scrollY; //Chrome
var scrollLeft = window.scrollX; //Chrome

Other Browsers:
var otherScrollTop = document.documentElement.scrollTop; //IE & Firefox
var otherScrollLeft = document.documentElement.scrollLeft; //IE & Firefox

这些变量将检测整个页面的滚动位置。

正如 @Eloy Pineda 提到的:您可以使用以下方式更简洁地编写:

var scrollTop = window.scrollY || document.body.scrollTop || document.documentElement.scrollTop;
var scrollLeft = window.scrollX || document.body.scrollLeft || document.documentElement.scrollLeft;

关于javascript - 跨浏览器 : Detecting scroll position JS only,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29708176/

相关文章:

javascript - 在我将 javascript 添加到导航组件后,HTML href 链接不起作用

html - css body border,绝对定位干扰

javascript - 如何区分通过鼠标滚动和在 JavaScript 中以编程方式滚动?

java - 向下滚动到页面底部加载 Instagram 图片

javascript - scrollIntoView() 没有将节点滚动到树的顶部

javascript - FireFox 是否支持 Date.prototype.toLocaleString() 中的 IANA 时区?

javascript - 如何在javascript中检测浏览器渲染引擎?

javascript - 如何从资源文件中解决西类牙重音问题?

javascript - 变量已声明但仍显示未定义

javascript - jQuery 合并数据属性