如何在javascript中获取浏览器滚动条高度

use*_*771 4 javascript scrollbar

如何获得浏览器滚动条高度?JS是否有针对此案例的内置函数?有人请帮我解决这个问题.

tec*_*bar 9

没有内置的方法.但是,滚动条的高度应该指示可用内容在可用视口中的适合程度.顺便说一下,我们可以确定它:

var sbHeight = window.innerHeight * (window.innerHeight / document.body.offsetHeight);
Run Code Online (Sandbox Code Playgroud)

window.innerHeight / document.body.offsetHeight当前可见内容的百分比在哪里.我们使用可用的视口高度对其进行多次处理,以获得近似的滚动条高度.

注意:不同的浏览器可能会向滚动条高度添加/减少某些像素.

  • 我想这里有一个错误。例如,我有一个 insideHeight = 500 和 body.offsetHeight = 2000 的窗口,因此我得到滚动条的高度 = 500 * (500 / 2000) = 125 px。如果 body.offsetHeight = 100 比我得到滚动条的高度 = 2500。这对于滚动条来说太多了,不是吗? (2认同)

Irf*_*mad 5

'window.pageYOffset'
Run Code Online (Sandbox Code Playgroud)

返回滚动条相对于文档完整高度的当前高度。一个简单的用法示例就像

alert('Current scroll from the top: ' + window.pageYOffset)
Run Code Online (Sandbox Code Playgroud)