我会把div定位为绝对的,然后把它们放在你想要的地方.然后用这个功能获得他们的位置:
//Get the absolute position of a DOM object on a page
function findPos(obj) {
var curLeft = curTop = 0;
if (obj.offsetParent) {
do {
curLeft += obj.offsetLeft;
curTop += obj.offsetTop;
} while (obj = obj.offsetParent);
}
return {x:curLeft, y:curTop};
}
当你有自己的位置,把它添加到一半的宽度/高度,你将有他们的中心在页面上的位置.现在找到画布的位置,并从之前找到的数字中减去它.如果您在两点之间画一条线,则应链接两个div.如果不清楚,我将如何编写代码:
var centerX = findPos(document.getElementById('x'));
centerX.x += document.getElementById('x').style.width;
centerX.y += document.getElementById('x').style.height;
var centerZ = findPos(document.getElementById('Z'));
centerZ.x += document.getElementById('z').style.width;