Существует DIV, который имеет стили:Javascript: элемент обработчик изменения размера (не CSS)
min-width:100px
min-height:100px
Когда я добавить текст к DIV (с помощью JavaScript), он меняет свой размер. Как получить новый размер?
Я попытался
element.offsetHeight
Но это не работает, как ожидалось. Я получаю размер больше, чем мне нужно в первый раз. Но через некоторое время, если я снова получу значение этой пропозиции, я получаю реальный размер.
Возможно, это связано с тем, что между установкой текста и установкой его в div требуется некоторое время? Я не знаю.
<div class="parent"><div class="popup"></div></div>
<style>
* {
box-sizing:border-box;
}
.parent {
position: absolute;
z-index: 0;
}
.popup {
position: absolute;
min-width: 100px;
min-height: 100px;
padding: 20px;
border-radius: 12px;
background:#000;
color:#fff;
visibility:hidden;
}
.popup:before, .popup::before, .popup:after, .popup::after {
content:"";
width:0px;
height:0px;
display: block;
position: absolute;
}
</style>
<script>
var popup = document.getElementsByClassName('popup')[0];
popup.innerHTML = 'любой текст от 3 до NNN строк';
console.log(popup.offsetHeight);
</script>
Я пробовал, но у меня такой же результат. Во-первых, размер больше, чем через некоторое время. – user64675
При выполнении этих вычислений по ширине или высоте справа или снизу вверх, не забудьте добавить 1. –
Нет, в моем случае у меня всего 207, например (для длинного текста), а затем через некоторое время я получил 137. – user64675