javascript - div 滚动条宽度

标签 javascript jquery

是否有使用 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);
}

我在我正在从事的项目中使用它,它就像一个魅力。它通过以下方式获取滚动条宽度:

  1. 将内容溢出的 div 附加到正文(在不可见区域,-200px 到顶部/左侧)
  2. 将溢出设置为隐藏
  3. 获取宽度
  4. 将溢出设置为auto(以获得滚动条)
  5. 获取宽度
  6. 将两个宽度相减得到滚动条的宽度

所以您需要做的是获取 div 的宽度 ($('#mydiv').width()) 并添加滚动条宽度:

var completewidth = $('#mydiv').width() + getScrollbarWidth();

关于javascript - div 滚动条宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7501761/

相关文章:

javascript - 如何将javascript中的字母增加到下一个字母?

javascript - 帮助删除附加数据

javascript - 如果绝对位置元素在屏幕下方,无论如何要使主体滚动条出现?

javascript - 在 javascript 中传递 'this' 函数的正确方法

javascript - 如果 @Input 是一个对象及其属性更新之一,则 OnChanges 不会触发

javascript - 使用附加 SDK 创建 XPI 包?

javascript - ccs3 属性背景大小 :cover mechanism

javascript - 使用 jQuery 使用关联数组中的数据填充表单

javascript - 无法从内部函数检索 json 响应

javascript - jQuery onclick 在菜单中隐藏/显示 div