Javascript 是否可以确定元素当前是否溢出其容器?

Javascript 是否可以确定元素当前是否溢出其容器?,javascript,jquery,Javascript,Jquery,我想检查水平滚动条是否应用于如下所示的div: if (box.width() < box.get(0).scrollWidth) if(box.width()

我想检查水平滚动条是否应用于如下所示的div:

if (box.width() < box.get(0).scrollWidth)
if(box.width()
这总是正确的,即使没有任何滚动条,因为
box.get(0).scrollWidth
返回
203px
,而
.width()
返回
200

这里我有一个例子,请看第一个框<代码>$('.box0')


示例:

我只是通过这个来确定div是否溢出-即可滚动:

$.fn.hasScrollBar = function() {
    var _elm = $(this)[0];
    var _hasScrollBar = false; 
    if ((_elm.clientHeight < _elm.scrollHeight) || (_elm.clientWidth < _elm.scrollWidth)) {
        _hasScrollBar = true;
    }
    return _hasScrollBar;
}
$.fn.hasScrollBar=函数(){
var_elm=$(此)[0];
var _hasScrollBar=false;
if((_elm.clientHeight<_elm.scrollHeight)|(_elm.clientWidth<_elm.scrollWidth)){
_hasScrollBar=true;
}
返回(hasScrollBar);;
}
用法:
$('#').hasScrollBar()返回真/假


*从最初的情况来看,我认为

这是什么浏览器可以复制的?在FF 8.0.1中,我得到了183的宽度和滚动宽度。你在哪个浏览器下测试?奇怪,我得到了200和203。你选择的是.box0吗?我也得到了200/203的铬合金。另外,
.clientWidth
是203,而
.width()
返回200。clientWidth和scrollWidth都返回203。谢谢,这应该有用。我应该阅读更多关于clientWidth的内容。您还必须检查滚动条是否可见,即使它已被禁用。这就是溢出:滚动