用jQuery检测滚动条的存在仍然很难吗?

时间:2010-04-03 14:35:17

标签: javascript jquery scrollbar

我知道检测滚动条的存在应该是我们都应该遭受的难以捉摸的事情之一。到目前为止我读到的是你无法真正检测到滚动条的存在,只能使用DOM中的提示来了解它们是否可能存在,而且不能在30以内完成代码行。

这对我来说听起来有点不可能,因为我们在2010年.jQuery是否有一个跨浏览器的可靠解决方案来处理这个并且至少在大部分时间都能正常工作?请帮忙,我拉我的头发,一半已经在地板上了。

1 个答案:

答案 0 :(得分:3)

可能不像你希望的那样优雅,但这是我最近编写的用于计算视口高度的脚本的充分适应。

逻辑上,您希望在document readywindow resize上调用此功能。

它还处理您在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;
    }
}