2011-11-28 58 views
1

我要檢查,如果水平滾動條被應用到一個div像這樣:是否可以確定某個元素當前是否溢出其容器?

if (box.width() < box.get(0).scrollWidth) 

這始終是真實的,即使沒有任何滾動條,因爲box.get(0).scrollWidth回報203px,而.width()返回200

這裏我舉一個例子,請看第一個盒子。 $('.box0')

例子:http://www.nikolaydyankov.com/Dev/lionbars/

+0

什麼瀏覽器可以重現? –

+0

我在FF 8.0.1中獲得了寬度和scrollWidth的183。你在什麼瀏覽器下測試? –

+0

即時測試與Firefox 8 –

回答

2

我只是這個來決定一個div滿溢 - 即滾動:

$.fn.hasScrollBar = function() { 
    var _elm = $(this)[0]; 
    var _hasScrollBar = false; 
    if ((_elm.clientHeight < _elm.scrollHeight) || (_elm.clientWidth < _elm.scrollWidth)) { 
     _hasScrollBar = true; 
    } 
    return _hasScrollBar; 
} 

用法:$('#<id>').hasScrollBar();返回真/假

*從SO本來我想

+0

clientWidth和scrollWidth都返回203.謝謝,這應該工作。我應該讀更多關於clientWidth。 –

+0

您還必須檢查滾動條是否可見,即使它被禁用。這是溢出:滾動 – momomo

相關問題