Three.js CSSObject3D как получить ширину объекта

0

Итак, во-первых, я динамически замечаю HTML Dom Elements из текста HTML, я использую эту функцию

String.prototype.toDomElement = function () {
  var wrapper = document.createElement('div');
  wrapper.className = "toDomWrapper";
  wrapper.innerHTML = this;

  return wrapper;
};

"создать элемент dom":

var element = obj.html.toDomElement();

Из которого я затем создаю CSS3DObject:

var cssElement = new THREE.CSS3DObject( element );

после размещения пары этих (divs) на холсте - я бы хотел их выложить (абсолютные позиции, которые я знаю, как это сделать), однако я не знаю, как получить ширину каждого элемента?!

Я не могу предопределить ширину - они динамически генерируются.

Справка будет ОЧЕНЬ МНОГО оценили - я пробовал просмотреть все примеры из трех. Js CSS3D: http://threejs.org/examples/#css3d_periodictable, и я действительно искал в Интернете - ничего не нашел - в в каждом примере они устанавливают ширину элемента.style.width или его извлекают из css.

кто угодно??

Теги:
three.js

2 ответа

0
Лучший ответ
document.appendChild(element);
var cssElement = new THREE.CSS3DObject( element );

и теперь вы можете получить свойства элемента

var el = $("#"+element.id);
var w = el.width();
var h = el.height();
var x = el.position().left;
var y = el.position().top;
0

попробуй это...

var cssElement = new THREE.CSS3DObject( element );
var width = cssElement.element.style.width;
  • 0
    Я действительно пробовал это на самом деле, не работает ... спасибо за предложение, хотя :) В конце я понял это - что вам нужно сделать, это добавить элемент в документ: document.appendChild (element); а затем запросить ширину! Кажется, что только после того, как элемент добавлен в фактический документ - он фактически приобретает свойства ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню