我知道检测滚动条的存在应该是我们都应该忍受的那些难以捉摸的事情之一.到目前为止我所读到的是你无法真正检测滚动条的存在,只能使用DOM中的提示来了解它们是否存在,并且不能在少于30行的代码中完成.
这对我来说听起来有点不可能,因为我们在2010年.jQuery是否有一个跨浏览器可靠的解决方案来处理这个并且至少在大多数时间都能工作?请帮忙,我拉我的头发,一半已经在地板上了.
解决方法:
可能不像你希望的那样优雅,但这是我最近编写的用于计算视口高度的脚本的充分适应.
从逻辑上讲,您需要在文档就绪和窗口大小调整上调用此函数.
它还处理您在Opera(第2行)和IE7(第6行)中遇到的不一致.
function scrollbar() {
var viewportHeight = window.innerHeight ? window.innerHeight : $(window).height();
if (jQuery.browser.msie) {
if(parseInt(jQuery.browser.version) == 7) {
viewportHeight -= 3;
}
}
if(viewportHeight <= $('#wrapper').height()) {
return true;
} else {
return false;
}
}