【问题标题】:Set Div Height to Another Div Height将 div 高度设置为另一个 div 高度
【发布时间】:2012-09-09 03:36:34
【问题描述】:

我知道有人问过类似的问题,并且我已经引用了它们,但还没有解决这个问题。我有一个旁白,它的内容可能没有它旁边的主要部分那么多。我正在使用加载事件 window.load 来运行我的脚本,名为 sideHeightSet 下面是调用它的 sn-p:

  <script>
    window.onload=function(){

        asideHeightSet("main_content_aside", "main_content_section");
    }
  </script>

我还有其他可以从那里正常执行的函数,这个 sn-p 是在我可以依赖任何 jQuery 库之后。我的 sideHeightSet javascript 是:

var $ = function (id) { return document.getElementById(id); }
function asideHeightSet(aside, section){
var sectionHeight = $(section).style.height;
$(aside).style.height= sectionHeight;

}

我在 firefox 中运行了 firebug 调试器,它一直显示该部分的高度为空白,当我单步执行时它在手表中输出“”。

任何帮助将不胜感激。

谢谢


这是为我做的:

函数asideHeightSet(aside, section){ var sectionHeight = $(section).offsetHeight-22;

$(aside).style.height = sectionHeight+"px";

}

22是考虑到padding和border的。

【问题讨论】:

  • 经过简短测试后更新了答案。试试看。
  • 成功了,谢谢。我在上面发布了完整的代码。

标签: javascript dom html height


【解决方案1】:

运行你提供的代码让我得到元素的高度

$(section).offsetHeight

style height 返回 none 因为可能没有与元素关联的高度 css 样式。试一试,告诉我结果如何。

【讨论】:

  • 正好相反:onload 在所有内容加载后触发,包括可能影响div 大小的图像。 document.ready 仅表示 DOM 已加载并可供操作,但其他资源尚未准备好。
  • 我说它的实现有怪癖,也就是不可靠,不是页面没有加载。
  • 这在所有 3 个主要的 chrome 中都是同一个问题,即 ff。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-29
  • 2014-05-22
  • 1970-01-01
  • 2011-03-17
  • 2019-03-08
  • 2015-02-26
  • 2015-06-16
相关资源
最近更新 更多