有没有一种简单的方法可以使用 javascript/jquery 获取滚动条的宽度?
我需要获取溢出的 div 的宽度+滚动条的宽度。
谢谢
如果您使用 jquery,请尝试以下操作:
function getScrollbarWidth()
{
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div).innerWidth();
div.css('overflow-y', 'auto');
var w2 = $('div', div).innerWidth();
$(div).remove();
return (w1 - w2);
}
我正在我正在从事的项目中使用它,它的作用就像一个魅力。它通过以下方式获取滚动条宽度:
- 将内容溢出的 div 附加到正文(在不可见区域,顶部/左侧 -200px)
- 将溢出设置为
hidden
- 获取宽度
- 将溢出设置为
auto
(获取滚动条)
- 获取宽度
- 减去两个宽度即可得到滚动条的宽度
所以你要做的就是获取 div 的宽度($('#mydiv').width()
)并添加滚动条宽度:
var completewidth = $('#mydiv').width() + getScrollbarWidth();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)