一、js判断body是否存在滚动条
原理:body的scollHeight 如果大于浏览器的innerHeight 则就会出现滚动条。
hasScrollbar() {
return document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight)
}
二、js 计算滚动条的宽度
原理:设置div出现滚动条,滚动条的宽度= 元素的offsetWidth-clientWidth
function 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