2009-12-10 57 views

回答

1
window.scrollBarWidth = function() { 
    document.body.style.overflow = 'hidden'; 
    var width = document.body.clientWidth; 
    document.body.style.overflow = 'scroll'; 
    width -= document.body.clientWidth; 
    if(!width) width = document.body.offsetWidth - document.body.clientWidth; 
    document.body.style.overflow = ''; 
    return width; 
} 
+0

這是否很好地交叉瀏覽器?在什麼瀏覽器下測試了這段代碼? – marcgg 2009-12-10 09:53:10

2

有沒有什麼辦法工作跨瀏覽器(IE有問題,總是),對不起

+1

我不相信也沒辦法。 – 2009-12-10 10:21:46

0

這裏是MooTools的一個例子,我剛剛完成全跨瀏覽器測試。

http://jsfiddle.net/jP6q2/2/

長話短說:

var body = $$('body')[0]; 

var test = new Element('div', {'style':'visibility:hidden; width: 100px; height: 100px; overflow: scroll;'}); 

test.inject(body); 

var scrollbar = { 
    width: test.offsetWidth - test.scrollWidth 
    , height: test.offsetHeight - test.scrollHeight 
} 

test.dispose();