通常,您可以比较client[Height|Width]
与scroll[Height|Width]
以便检测到此情况… …但是,当可见溢出时,这些值将相同。因此,检测程序必须考虑到这一点:
// Determines if the passed element is overflowing its bounds,
// either vertically or horizontally.
// Will temporarily modify the "overflow" style to detect this
// if necessary.
function checkOverflow(el)
{
var curOverflow = el.style.overflow;
if ( !curOverflow || curOverflow === "visible" )
el.style.overflow = "hidden";
var isOverflowing = el.clientWidth < el.scrollWidth
|| el.clientHeight < el.scrollHeight;
el.style.overflow = curOverflow;
return isOverflowing;
}
在FF3,FF40.0.2,IE6,Chrome 0.2.149.30中进行了测试。