function createCloudEntry(termName, fontSize) {
var div = document.createElement("div");
div.innerText = termName;
div.style.fontSize = fontSize + "px";
div.style.position = "absolute";
div.style.display = "inline-block";
div.style.top = getRandomPosition(0, cloudHeight - 40) + 'px';
div.style.left = getRandomPosition(0, cloudWidth - 150) + 'px';
//document.write("Left: " + getRandomPosition(0, parseInt(cloudHeight)) + ", Top: " + getRandomPosition(0, parseInt(cloudWidth)) + "<br/>");
//document.write(div.style.width + " | " + div.style.height + "<br/>");
return div;
}Получение ширины и высоты элемента вне DOM в JS
Так что это моя функция, где я просто создать новый DIV с некоторыми свойствами CSS. Мой вопрос: могу ли я получить ширину и высоту элемента SO FAR (после добавления текста с определенным размером шрифта), прежде чем он будет добавлен в DOM? Я попробовал window.getComputedStyle(), но это не сработало, div.style.width/height тоже не работает.
Что вы имеете в виду? Элемент не имеет размера вне DOM, и точка, в которую вы вставляете его, может иметь последствия результирующего размера. Чего вы пытаетесь достичь? Почему бы вам просто не добавить элемент в DOM? –
Потому что мне нужно знать, сколько места оно занимает для функции getRandomPosition(), где я получаю случайные значения для свойств верхнего и левого шрифтов на основе его размера. –
Затем добавьте его в дом, сохраните размеры и снова удалите его из дома. Браузер не будет перерисовываться между ними, чтобы это не было видно пользователю. –