首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >offsetHeight !== scrollHeight onResize,有时

offsetHeight !== scrollHeight onResize,有时
EN

Stack Overflow用户
提问于 2015-09-27 21:25:16
回答 1查看 568关注 0票数 0

我正在检查和比较body.offsetHeightbody.scrollHeight

缩放窗口大小总是抛出相同的值,但是缩小窗口有时会导致“跳转”值,因此我在Div上得到了一个闪烁。在Chrome 45和Firefox上进行了测试。

代码语言:javascript
复制
var body = document.body,
    html = document.documentElement,
    offset,
    scroll;

$(window).resize(function() {
  offset = Math.max(body.offsetHeight, html.offsetHeight);
  scroll = Math.max(body.scrollHeight, html.scrollHeight);

  if (offset === scroll) {
    $(".myDiv").css("height", (offset - 155) + "px");
  } else {
    $(".myDiv").css("height", "");
  }
}).trigger("resize");

这是怎么回事?有人能跟我解释一下我做错了什么吗?

编辑:在线演示,说明我的问题:http://jsfiddle.net/magic77/41bq62xs/

http://20thcenturyinterior.com/test/test.html

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-28 08:51:54

这看起来是一个简单的四舍五入的问题。offset是四舍五入的,而scroll是四舍五入的,所以1是不同的。您可以简单地解决这个问题:

代码语言:javascript
复制
if (Math.abs(offset - scroll) <= 1) {
    $(".myDiv").css("height", (offset - 155) + "px");
} else {
    $(".myDiv").css("height", "");
}

这是一个解决办法,正确的方法是在任何情况下使用CSS。你可以问另一个问题,你的具体问题,标记为CSS。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32812997

复制
相关文章

相似问题

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