Элемент должен быть видимым и не иметь display:none
, чтобы можно было рассчитать его размер.Два способа, которые я видел, чтобы обойти это:
1) Разместите компонент далеко от экрана и рассчитайте размер.2) Выключите display:none
, рассчитайте размер, а затем снова включите display:none
.
Пока вы выполняете # 2 в той же функции, она никогда не будет отображаться с момента перерисовки в браузере.не произойдет, пока вы не завершите свою функцию.И поскольку display:none
снова включается в конце вашей функции, элемент никогда не будет отображаться.