如何知道滚动条是否出现在浏览器(jQuery)中?

如何知道滚动条是否出现在浏览器(jQuery)中?,jquery,html,browser,scrollbars,Jquery,Html,Browser,Scrollbars,我需要知道,浏览器窗口中是否出现了垂直滚动条。是否可以使用jQuery或任何其他方法?比较文档高度和窗口高度。如果更多,则可能会有一个滚动条,除非您禁用它。如下所示: if (document.documentElement.scrollHeight === document.documentElement.clientHeight) { //There is no vertical scrollbar } 这在IE中不起作用,这是一篇老文章,但我终于得到了在IE7上也起作用的代码。希

我需要知道,浏览器窗口中是否出现了垂直滚动条。是否可以使用jQuery或任何其他方法?

比较文档高度和窗口高度。如果更多,则可能会有一个滚动条,除非您禁用它。

如下所示:

if (document.documentElement.scrollHeight === document.documentElement.clientHeight) {
    //There is no vertical scrollbar
}

这在IE中不起作用,这是一篇老文章,但我终于得到了在IE7上也起作用的代码。希望这能帮助别人

var hasScrollbar = $('body').outerHeight() > $(window).height();

错。窗口高度包括诸如工具栏和菜单之类的chrome元素。啊,是的,我实际上是想键入视口高度,我的错。滚动条可能通过
主体{overflow-y:hidden;}
显式隐藏,在这种情况下,您的代码将报告假阳性…当主体本身很小时,这也不起作用,但是绝对定位的元素部分移动到了视口之外,并导致UA显示滚动条(在该实例中,主体高度/宽度没有改变,但确实存在滚动条)。当主体本身很小时,绝对定位的元素在视口之外(导致滚动条)不起作用。