国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

一步一步jQuery流程設計器插件goflow(附代碼)-4-畫連線

2024-04-27 15:01:59
字體:
來源:轉載
供稿:網友

流程結點可以添加了之后,接下來到畫結點與結點之間的連線,效果圖如下

 

很眼饞visio的連線可以折來折去,這里實現的連線比較簡單。

首先是把連線的類型分為Z(折線)、N(折線)及I(直線)3種類型,然后在兩個結點間劃線的時候,根據兩個結點間的位置來決定畫哪種線。

1、結點2在結點1左邊

2、結點2在結點1右邊

//計算兩個結點間連線的類型p.calcLineType = function (n1, n2) {    var x11 = n1.left, x12 = n1.left + n1.width, x21 = n2.left, x22 = n2.left + n2.width;    var y11 = n1.top, y12 = n1.top + n1.height, y21 = n2.top, y22 = n2.top + n2.height;    var x1m = (x11 + x12) / 2, x2m = (x21 + x22) / 2, y1m = (y11 + y12) / 2, y2m = (y21 + y22) / 2;    if (x1m >= x22) {//結點2在結點1左邊(x軸有交集)        if (y11 > y22) { //結點2在結點1左上方(y軸無交集)            return "N";        }        else if (y12 < y21) {//結點2在結點1左下方(y軸無交集)            return "N";        }        else {//y軸有交集             return (Math.abs(y1m - y2m) < 20 ? "I" : "Z");        }    }    else { //結點2在結點1右邊(x軸有交集)        if (y11 > y22) { //結點2在結點1右上方(y軸無交集)            return (Math.abs(x1m - x2m) < 20 ? "I" : "N");        }        else if (y12 < y21) {//結點2在結點1右下方(y軸無交集)            return (Math.abs(x1m - x2m) < 20 ? "I" : "N");        }        else {//y軸有交集             return (Math.abs(y1m - y2m) < 20 ? "I" : "Z");        }    }}; 

目前連線就是這樣的簡單實現,哪位朋友有心思的幫忙整個好點的實現。 

代碼:GoFlow_04.zip


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 韶关市| 当阳市| 宿迁市| 措美县| 阿瓦提县| 若尔盖县| 晋州市| 闽侯县| 武夷山市| 南溪县| 宁远县| 封开县| 肇东市| 海门市| 星子县| 阿瓦提县| 东明县| 卢湾区| 邵阳市| 绍兴市| 赤壁市| 宜宾县| 曲阳县| 新兴县| 阿克苏市| 海口市| 临潭县| 塔城市| 临清市| 犍为县| 凤冈县| 武汉市| 茂名市| 丹东市| 清水河县| 开封县| 长岛县| 怀安县| 满城县| 祁门县| 蕲春县|