两者window.getComputedStyle(element).height并element.clientHeight正在返回该元素的当前高度以像素为单位,而不管在CSS设置的值的.
有没有办法找出高度是否设置为auto或像素以外的其他单位?
@pvnarula通过他链接的页面建议的一个解决方案是暂时更改元素的内容,然后比较高度.有点hacky ......
我有一段 JS 代码,用于确定是否存在垂直滚动条并将 CSS 类应用于元素。没什么大不了的。让我困惑的是它似乎在做与我理解的它应该做的相反的事情。这不是问题,除非它是一个错误并且将来会修复。
代码:
if (document.body.scrollHeight > document.body.clientHeight) {
var d = document.getElementById("footer").className = "footernoscroll";
}
Run Code Online (Sandbox Code Playgroud)
我的理解是,如果有垂直滚动条,它将应用该类,但如果没有滚动条,它似乎正在应用该类。我是否正确解释了这一点,并且代码表现得很奇怪,或者我的解释是错误的?
编辑:我想我应该添加,如果我反转运算符,效果将反转,并且它将使用else语句的一部分。