Как получить размер от <div> - PullRequest
3 голосов
/ 04 ноября 2011

У меня есть FlowPanel, чья высота является фиксированной (на самом деле это процент от высоты его родителя, которая является фиксированной).
На этой панели я добавляю несколько div элементов. Используя CSS, я установил его высоту как 100% от его родителя.
То, что я хочу сделать, это установить его ширину равной его высоте с использованием JavaScript.

Проблема, с которой я столкнулся, заключается в том, что я не знаю, когда запускать этот бит javascript. Я попытался добавить его к методу onLoad() моего контейнера, но высота еще не известна (getOffsetHeight() возвращает 0).

Я смотрел на похожие вопросы (например, GWT - получить размер виджета, который не отображается ), но они не были точно такими же.

1 Ответ

7 голосов
/ 05 ноября 2011

Отложить вызов на getOffsetHeight() до конца цикла событий:

@Override
public void onLoad() {
  Scheduler.get().scheduleDeferred(new ScheduledCommand() {
    @Override
    public void execute() {
      // Get and work with the element's offsetHeight.
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...