Я сделал для этого функцию, domvertices.js
Он вычисляет 4 вершины 3d-координаты любой, глубокий, transform
ed, position
ed элемент DOM - на самом деле просто любой элемент: см. DEMO .
a b
+--------------+
| |
| el |
| |
+--------------+
d c
var v = domvertices(el);
console.log(v);
{
a: {x: , y: , z: },
b: {x: , y: , z: },
c: {x: , y: , z: },
d: {x: , y: , z: }
}
С этими вершинами вы можете вычислить все что угодно: ширину, высоту ... Например, в вашем случае:
// norm(a,b)
var width = Math.sqrt(Math.pow(v.b.x - v.a.x, 2) + Math.pow(v.b.y - v.a.y, 2));
См. README для получения дополнительной информации.
-
Он публикуется как модуль npm (без депозита), поэтому просто установите его с помощью:
npm install domvertices
Приветствие.