首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >检测页面是否有垂直滚动条?

检测页面是否有垂直滚动条?
EN

Stack Overflow用户
提问于 2010-01-27 20:46:37
回答 12查看 116K关注 0票数 129

我只想要一些简单的JQ/JS来检查当前页面/窗口(不是特定的元素)是否有垂直滚动条。

Googling给我的东西对于这个基本的功能来说似乎过于复杂了。

如何做到这一点?

EN

回答 12

Stack Overflow用户

发布于 2010-01-27 20:52:04

代码语言:javascript
复制
$(document).ready(function() {
    // Check if body height is higher than window height :)
    if ($("body").height() > $(window).height()) {
        alert("Vertical Scrollbar! D:");
    }

    // Check if body width is higher than window width :)
    if ($("body").width() > $(window).width()) {
        alert("Horizontal Scrollbar! D:<");
    }
});
票数 101
EN

Stack Overflow用户

发布于 2010-01-27 20:52:51

试试这个:

代码语言:javascript
复制
var hasVScroll = document.body.scrollHeight > document.body.clientHeight;

但是,这只会告诉您垂直scrollHeight是否大于可视内容的高度。hasVScroll变量将包含true或false。

如果您需要进行更彻底的检查,请在上面的代码中添加以下代码:

代码语言:javascript
复制
// Get the computed style of the body element
var cStyle = document.body.currentStyle||window.getComputedStyle(document.body, "");

// Check the overflow and overflowY properties for "auto" and "visible" values
hasVScroll = cStyle.overflow == "visible" 
             || cStyle.overflowY == "visible"
             || (hasVScroll && cStyle.overflow == "auto")
             || (hasVScroll && cStyle.overflowY == "auto");
票数 82
EN

Stack Overflow用户

发布于 2010-01-27 21:33:03

我尝试了前面的答案,但似乎不起作用$("body").height()不一定代表整个html高度。

我已经更正了这个解决方案,如下:

代码语言:javascript
复制
// Check if body height is higher than window height :) 
if ($(document).height() > $(window).height()) { 
    alert("Vertical Scrollbar! D:"); 
} 

// Check if body width is higher than window width :) 
if ($(document).width() > $(window).width()) { 
    alert("Horizontal Scrollbar! D:<"); 
} 
票数 47
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2146874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档