tôi đã thực hiện một chức năng cho điều này, domvertices.js
Nó tính toán 4 đỉnh tọa độ 3d của bất kỳ, vùng sâu, transform
ed, position
ed DOM yếu tố - thực sự chỉ là bất kỳ yếu tố: xem 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: }
}
Với những đỉnh, bạn có thể tính toán bất cứ điều gì trong số: chiều rộng, chiều cao ... Ví dụ, trong trường hợp của bạn:
// 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));
Xem README để biết thêm infos.
-
Nó được công bố như một module commonJS, vì vậy chỉ cần cài đặt nó với:
npm install domvertices
Cheers.
tôi tự hỏi tại sao bạn đang nhận 17x17, coi nó xoay 45 độ từ 11x11, sau đó kích thước mới nên 15x15 hoặc 16x16 – jondinham
Tôi nghĩ rằng Chrome tự động ceils kết quả cosinus. – jolt