我要检查,如果水平滚动条被应用到一个div像这样:是否可以确定某个元素当前是否溢出其容器?
if (box.width() < box.get(0).scrollWidth)
这始终是真实的,即使没有任何滚动条,因为box.get(0).scrollWidth
回报203px
,而.width()
返回200
。
这里我举一个例子,请看第一个盒子。 $('.box0')
例子:http://www.nikolaydyankov.com/Dev/lionbars/
我要检查,如果水平滚动条被应用到一个div像这样:是否可以确定某个元素当前是否溢出其容器?
if (box.width() < box.get(0).scrollWidth)
这始终是真实的,即使没有任何滚动条,因为box.get(0).scrollWidth
回报203px
,而.width()
返回200
。
这里我举一个例子,请看第一个盒子。 $('.box0')
例子:http://www.nikolaydyankov.com/Dev/lionbars/
我只是这个来决定一个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本来我想
clientWidth和scrollWidth都返回203.谢谢,这应该工作。我应该读更多关于clientWidth。 –
您还必须检查滚动条是否可见,即使它被禁用。这是溢出:滚动 – momomo
什么浏览器可以重现? –
我在FF 8.0.1中获得了宽度和scrollWidth的183。你在什么浏览器下测试? –
即时测试与Firefox 8 –