js画吊线图
作者:互联网
一、定义一个长话短说的代替物:$(id)=return document.getElementById(id)
定义一个函数,函数名叫$。 接收一个参数id , 调用时返回id为此id的元素对象。
function $(id) {
return document.getElementById(id)
}
二、定义一个偏移量,参数为nodenode(结点):网络连接的端点,或两条(或多条)线路的连接点、控制点。
function offset(node)
{
var x = node.offsetLeft; //x横向左对齐
var y = node.offsetTop; //y纵向上对齐
var w = node.offsetWidth; //w宽度
var h = node.offsetHeight; //h高度
var parent = node.offsetParent; //parent父节点
while (parent != null) { //父节点不为空时,横向左偏移一个单位,纵向向上偏移一个单位
x += parent.offsetLeft;
y += parent.offsetTop;
parent = parent.offsetParent; //父节点相等
}
//如果宽度为0,父节点宽度为当前宽度,初始化+1,左右同样+1,边界宽度*2
if (w == 0) {
w += parseInt(node.currentStyle.width);
w += parseInt(node.currentStyle.paddingRight);
w += parseInt(node.currentStyle.paddingLeft);
w += parseInt(node.currentStyle.borderWidth) * 2;
}
//如果高度为0,父节点高度为当前高度,初始化+1,上下同样+1,边界高度*2
if (h == 0) {
h += parseInt(node.currentStyle.height);
h += parseInt(node.currentStyle.paddingTop);
h += parseInt(node.currentStyle.paddingBottom);
h += parseInt(node.currentStyle.borderWidth) * 2;
}
return { x: x, y: y, w: w, h: h };
}
标签:node,线图,parent,js,var,parseInt,画吊,id,currentStyle 来源: https://www.cnblogs.com/yuanscn/p/13192201.html