gpt4 book ai didi

javascript - scrollHeight 大于 clientHeight,即使没有滚动内容

转载 作者:行者123 更新时间:2023-11-29 19:26:13 26 4
gpt4 key购买 nike

我有一段 JS 代码,判断是否有垂直滚动条,并将 CSS 类应用于元素。没什么大不了的。令我困惑的是,它似乎在做与我理解它应该做的相反的事情。这不是问题,除非它是一个错误并且在未来被修复。
代码:

if (document.body.scrollHeight > document.body.clientHeight) {
var d = document.getElementById("footer").className = "footernoscroll";
}

我的理解是,如果有垂直滚动条,它将应用该类,但如果没有滚动条,它似乎正在应用该类。我是否正确解释了这一点并且代码运行异常或者我的解释有误?

编辑: 我想我应该补充一点,如果我反转运算符,效果将被反转,它将使用语句的 else 部分。

最佳答案

确保您的 body 是窗口高度的 100%。如果你没有这个,那么 clientHeight 值将是 body 中元素的组合高度而不是整个窗口高度,而 scrollHeight 为窗口的全高。

这是一个显示它工作的 fiddle (打开开发工具并查看控制台):http://jsfiddle.net/alexcoady/c53d7q27/1/

html, body {
height: 100%;
padding: 0;
margin: 0;
}

clientHeight documentation
scrollHeight documentation

关于javascript - scrollHeight 大于 clientHeight,即使没有滚动内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30642367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com