Кроме процедуры быстрого показа, создания и скрытия, можно просто использовать маску загрузки, чтобы сделать вид, что экран (или его часть) невидим.
Это произошло, когда я работал над картой, в которой были скрытые элементы. Мне нужно было прочитать css-позиции / смещения без отображения этих элементов. Я придумал три возможных метода:
на данный момент загружаем маску на карту, чтобы карта не отображала скрытые элементы и считывала смещения (проблема: оверлей также скрывает родительский элемент (карту)). Это работает лучше всего, если нет родительского элемента, который требует отображения.
изменить z-индекс скрытых элементов, чтобы они проходили за родительским элементом, отображали и считывали значения, скрывали их и меняли z-index на оригинальный.
использовать отдельные переменные данных для стилей CSS, чтобы они были частью элемента. Это хорошо работает, если элементы имеют фиксированные / абсолютные позиции относительно окна или определенного элемента, так как css-позиции / смещения не будут меняться в зависимости от размера окна / элемента. В моем случае это хорошо работало, так как я работал с элементами абсолютно против окна (полноэкранное приложение / окно).
Другие методы, предложенные пользователями, тоже работают, но все зависит от того, над чем вы работаете.