我有FlowPanel
,其高度是固定的(它实际上是其父高度的百分比,固定)。
在此面板中,我添加了几个div
元素。使用CSS,我将其高度设置为其父级的100%
我想要做的是使用javascript将其宽度设置为等于其高度。
我遇到的问题是我不知道何时运行这个javascript。我尝试将其添加到容器的onLoad()
方法中,但高度尚不清楚(getOffsetHeight()
返回0)。
我看过类似的问题(比如GWT - Retrieve size of a widget that is not displayed),但它们并不完全相同。
答案 0 :(得分:7)
将呼叫推迟到getOffsetHeight()
,直到事件循环结束:
@Override
public void onLoad() {
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
// Get and work with the element's offsetHeight.
}
}
}