Javascript 是否可以确定元素当前是否溢出其容器?
我想检查水平滚动条是否应用于如下所示的div:Javascript 是否可以确定元素当前是否溢出其容器?,javascript,jquery,Javascript,Jquery,我想检查水平滚动条是否应用于如下所示的div: if (box.width() < box.get(0).scrollWidth) if(box.width()
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的内容。您还必须检查滚动条是否可见,即使它已被禁用。这就是溢出:滚动