如何获得<div> </div>的渲染大小

时间:2011-11-04 16:29:52

标签: gwt size

我有FlowPanel,其高度是固定的(它实际上是其父高度的百分比,固定)。
在此面板中,我添加了几个div元素。使用CSS,我将其高度设置为其父级的100% 我想要做的是使用javascript将其宽度设置为等于其高度。

我遇到的问题是我不知道何时运行这个javascript。我尝试将其添加到容器的onLoad()方法中,但高度尚不清楚(getOffsetHeight()返回0)。

我看过类似的问题(比如GWT - Retrieve size of a widget that is not displayed),但它们并不完全相同。

1 个答案:

答案 0 :(得分:7)

将呼叫推迟到getOffsetHeight(),直到事件循环结束:

@Override
public void onLoad() {
  Scheduler.get().scheduleDeferred(new ScheduledCommand() {
    @Override
    public void execute() {
      // Get and work with the element's offsetHeight.
    }
  }
}