如何使用 JavaScript 获取滚动条位置?

新手上路,请多包涵

我正在尝试使用 JavaScript 检测浏览器滚动条的位置,以确定当前视图在页面中的位置。

我的猜测是,我必须检测轨道上拇指的位置,然后检测拇指的高度占轨道总高度的百分比。我是否过于复杂了,还是 JavaScript 提供了比这更简单的解决方案?一些代码会是什么样子?

原文由 Paul 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.3k
2 个回答

我在 Chrome 上为 <div> 做了这个。

元素 .scrollTop - 是由于滚动而隐藏在顶部的像素。没有滚动,它的值为 0。

element .scrollHeight - 是整个 div 的像素。

元素 .clientHeight - 是您在浏览器中看到的像素。

 var a = element.scrollTop;

将是位置。

 var b = element.scrollHeight - element.clientHeight;

将是 scrollTop最大值

 var c = a / b;

将是滚动的百分比 [from 0 to 1]

原文由 Gatsby 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题