获取滚动条宽度
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取滚动条宽度相关的知识,希望对你有一定的参考价值。
我去掉了body滚动条,然后必须用padding来弥补它的不足。为了做到这一点,我尝试计算去掉body滚动条后出现的div块的滚动条宽度,并将结果作为padding传递。这在Chrome浏览器中可行,但在其他浏览器中却不可行。这是我的代码。
element = document.getElementById('div');
var scrollBarWidth = element.offsetWidth - element.clientWidth;
document.body.style.paddingRight = scrollBarWidth + 'px';
如果有合适的解决方案,我将非常感激。
答案
这似乎是可行的,但也许有一个更简单的解决方案,可以在所有的浏览器中工作?
// Create the measurement node
var scrollDiv = document.createElement("div");
scrollDiv.className = "scrollbar-measure";
document.body.appendChild(scrollDiv);
// Get the scrollbar width
var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
console.info(scrollbarWidth); // Mac: 15
// Delete the DIV
document.body.removeChild(scrollDiv);
.scrollbar-measure {
width: 100px;
height: 100px;
overflow: scroll;
position: absolute;
top: -9999px;
}
以上是关于获取滚动条宽度的主要内容,如果未能解决你的问题,请参考以下文章