其他分享
首页 > 其他分享> > js画吊线图

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