function getScrollBarDimensions(){
var elm = document.documentElement.offsetHeight ? document.documentElement : document.body,
curX = elm.clientWidth,
curY = elm.clientHeight,
hasScrollX = elm.scrollWidth > curX,
hasScrollY = elm.scrollHeight > curY,
prev = elm.style.overflow,
r = {
vertical: 0,
horizontal: 0
};
if( !hasScrollY && !hasScrollX ) {
return r;
}
elm.style.overflow = "hidden";
if( hasScrollY ) {
r.vertical = elm.clientWidth - curX;
}
if( hasScrollX ) {
r.horizontal = elm.clientHeight - curY;
}
elm.style.overflow = prev;
return r;
}
Running getScrollBarDimensions();
on this page yields:
Object
horizontal: 0
vertical: 17
for me in google chrome, IE7, opera and firefox.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…