JS获取浏览器滚动条的宽度

219 阅读1分钟

[JS获取浏览器滚动条的宽度]


知识点:offsetWidth:获取到的值是width+padding+border;

clientWidth: 获取对象可见内容的宽度,不包括滚动条,不包括边框;

let getScrollbarWidth = () => {

    var odiv = document.createElement('div'),//创建一个div

        styles = {

            width: '100px',

            height: '100px',

            overflowY: 'scroll'//让他有滚动条

        }, i, scrollbarWidth;

    for (i in styles) odiv.style[i] = styles[i];

    document.body.appendChild(odiv);//把div添加到body中

    scrollbarWidth = odiv.offsetWidth - odiv.clientWidth;//相减

    odiv.remove();//移除创建的div

    return scrollbarWidth;//返回滚动条宽度

}


方法使用

console.dir(getScrollbarWidth());