【问题标题】:getting wrong value for div height using jquery使用 jquery 获取 div 高度的错误值
【发布时间】:2014-04-19 19:26:42
【问题描述】:

在向页面添加更多内容并使用 jquery 获取实际高度后,我有一个名为 container 的 div 设置为 min-height 1800px 的简单 html 页面,但我得到了错误的值。现在的实际高度是 1907(来自检查元素),并且 jquery 使用此代码警告 1887

var container_h = $(".container").height();
alert(container_h);

我已将高度更改为 innerHeight,但也没有用这里是页面http://www.mawk3y.net/alsoos/hathal/

【问题讨论】:

  • 它在控制台返回 1907,所以你太快了,容器还没有达到它的全高。

标签: jquery height


【解决方案1】:

试试https://api.jquery.com/outerHeight/

当设置 outerHeight(true) 时,您包括边距。否则返回高度 + 内边距。

var container_h = $(".container").outerHeight(true);

【讨论】:

    【解决方案2】:

    确保在 DOM 准备好之后调用您的代码。如果你不是,元素将不会被“初始化”。

    $(function() { *your code here* });
    

    【讨论】:

      【解决方案3】:

      使用 setTimeout(确定在文档内准备好)延迟获取容器高度的新函数

      setTimeout(getHeight,500);
      
      function getHeight(){
      var container_h = $(".container").outerHeight();    
      

      }

      【讨论】:

      • 我知道你是 javascript 新手,所以我会很温和:这个解决方案是错误的。你永远不应该使用 setTimeout 来等待 ui 渲染。您应该改用回调。
      猜你喜欢
      • 2012-08-24
      • 1970-01-01
      • 2014-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-19
      相关资源
      最近更新 更多