我想判断body是否有出现了滚动条,想来想去找不到方法。
有人说通过document.body.scrollWidth-document.body.clientWidth>0来判断,但是我发现这个方法至少在FF下是不可靠的。
有人处理过类似的问题吗?请告知一下好吗,谢谢了。
我想判断body是否有出现了滚动条,想来想去找不到方法。
有人说通过document.body.scrollWidth-document.body.clientWidth>0来判断,但是我发现这个方法至少在FF下是不可靠的。
有人处理过类似的问题吗?请告知一下好吗,谢谢了。
[code="java"]
var isScroll = function (el) {
// test targets
var elems = el ? [el] : [document.documentElement, document.body];
var scrollX = false, scrollY = false;
for (var i = 0; i < elems.length; i++) {
var o = elems[i];
// test horizontal
var sl = o.scrollLeft;
o.scrollLeft += (sl > 0) ? -1 : 1;
o.scrollLeft !== sl && (scrollX = scrollX || true);
o.scrollLeft = sl;
// test vertical
var st = o.scrollTop;
o.scrollTop += (st > 0) ? -1 : 1;
o.scrollTop !== st && (scrollY = scrollY || true);
o.scrollTop = st;
}
// ret
return {
scrollX: scrollX,
scrollY: scrollY
};
};
[/code]