VML关系图折线改直线

来源:互联网 发布:ziprar解压软件下载 编辑:程序博客网 时间:2024/05/16 05:00
webflow.js
===============================================================================================================
objFocusedOn()在此函数中设置聚焦线颜色
增加如下对重复点击线的判断:
//设置聚焦状态
if(lastClickObjId!=null && lastClickObjId==objId){
 clickSelfNum = clickSelfNum + 1;
  }else{
 objFocusedOff();
 clickSelfNum = 1;
  }


//根据状态判断是否执行取消聚焦
  if(lastClickObjId!=null && lastClickObjId==objId && clickSelfNum%2==0){
  objFocusedOff();
  }
===============================================================================================================
objFocusedOff()失去聚焦时颜色设置
===============================================================================================================


getActionPoints()
将直线部分改为如下:
var fromX, fromY, toX, toY;
// 以到达点为准
// 右下
if (toStepX >= fromStepX && toStepY >= fromStepY) {
if (toStepY - fromStepY < (fromStepHeight + toStepHeight)) {
toX = toStepX;
toY = toStepY + toStepHeight / 2;
fromX = fromStepX + fromStepWidth;
fromY = fromStepY + fromStepHeight / 2;
} else {
if (toStepX - fromStepX <= (fromStepWidth + toStepWidth)) {
toX = toStepX + toStepWidth / 2;
toY = toStepY;
fromX = fromStepX + fromStepWidth / 2;
fromY = fromStepY + fromStepHeight;
} else {
toX = toStepX + toStepWidth / 2;
toY = toStepY;
fromX = fromStepX + fromStepWidth / 2;
fromY = fromStepY + fromStepHeight;
}
}
}
//左下
if (toStepX <= fromStepX && toStepY >= fromStepY) {


if (toStepY - fromStepY < (fromStepHeight + toStepHeight)) {
toX = toStepX + toStepWidth;
toY = toStepY + toStepHeight / 2;
fromX = fromStepX;
fromY = fromStepY + fromStepHeight / 2;


} else {
if (fromStepX - toStepX < (fromStepWidth + toStepWidth)) {
toX = toStepX + toStepWidth / 2;
toY = toStepY;
fromX = fromStepX + fromStepWidth / 2;
fromY = fromStepY + fromStepHeight;
} else {
toX = toStepX + toStepWidth / 2;
toY = toStepY;
fromX = fromStepX + fromStepWidth / 2;
fromY = fromStepY + fromStepHeight;
}
}
}
//右上
if (toStepX >= fromStepX && toStepY <= fromStepY) {
if (fromStepY - toStepY < (fromStepHeight + toStepHeight)) {
toX = toStepX;
toY = toStepY + toStepHeight / 2;
fromX = fromStepX + fromStepWidth;
fromY = fromStepY + fromStepHeight / 2;
} else {
if (toStepX - fromStepX <= (fromStepWidth + toStepWidth)) {
toX = toStepX + toStepWidth / 2;
toY = toStepY + toStepHeight;
fromX = fromStepX + fromStepWidth / 2;
fromY = fromStepY;
} else {
toX = toStepX + toStepWidth / 2;
toY = toStepY + toStepHeight;
fromX = fromStepX + fromStepWidth / 2;
fromY = fromStepY;
}
}
}
//左上
if (toStepX <= fromStepX && toStepY <= fromStepY) {
if (fromStepY - toStepY < (fromStepHeight + toStepHeight)) {
toX = toStepX + toStepWidth;
toY = toStepY + toStepHeight / 2;
fromX = fromStepX;
fromY = fromStepY + fromStepHeight / 2;
} else {
if (fromStepX - toStepX < (fromStepWidth + toStepWidth)) {
toX = toStepX + toStepWidth / 2;
toY = toStepY + toStepHeight;
fromX = fromStepX + fromStepWidth / 2;
fromY = fromStepY;
} else {
toX = toStepX + toStepWidth / 2;
toY = toStepY + toStepHeight;
fromX = fromStepX + fromStepWidth / 2;
fromY = fromStepY;
}
}
     
   }
===============================================================================================================
movestep.js
getLinePoints()函数中对座标点设置为webflow.js中getActionPoints()函数设置即可,保持页面所画与保存的图一致
原创粉丝点击