成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JavaScript來實現的超炫組織結構圖

開發 前端
最近有個內部項目需要使用組織結構圖(organization chart), 尋找了一些開源的項目及其類庫,發現竟然沒有現成的JS類庫可以使用,找到一些簡單的JS實現,不過界面及其操作及其簡單,不過功夫不負有心人,經過幾天國內國外的搜索,找到了一個非常好的解決方案,這里分享給大家。

Javascript InfoVis tools

這個開源的javascript類庫可以生成非常炫酷的結構和圖形,我選擇了其中的一種spacetree類型做為我的組織結構圖基礎,這種圖形可以支持一下特性:

◆ 支持向上下左右四個方向展開圖表

◆ 支持子節點擴展

◆ 支持圖表拖放

◆ 支持圖表縮放

整個類庫異常強大,非常合適復雜的圖形功能需求,如下:

 

 

  1. //Create a new instance  
  2.     var st = new $jit.ST({  
  3.         'injectInto''orgchart',  
  4.         //set duration for the animation  
  5.         duration: 800,  
  6.         //set animation transition type  
  7.         transition: $jit.Trans.Quart.easeInOut,  
  8.         levelDistance: 50,  
  9.         levelsToShow: 1,  
  10.         Node: {  
  11.             height: 45,  
  12.             width: 120,  
  13.             type: 'nodeline',  
  14.             color:'#23A4FF',  
  15.             lineWidth: 2,  
  16.             align:"center",  
  17.             overridable: false 
  18.         },  
  19.           
  20.         Edge: {  
  21.             type: 'bezier',  
  22.             lineWidth: 2,  
  23.             color:'#23A4FF',  
  24.             overridable: true 
  25.         },  
  26.           
  27.     //Retrieve the json data from database and create json objects for org chart  
  28.         request: function(nodeId, level, onComplete) {  
  29.         
  30.       //Generate sample data  
  31.       if(nodeId!='peter wang'&&nodeId!='William chen'){  
  32.         var data= [{fullname:'peter wang',title:'engineer'},{fullname:'William chen',title:'senior engineer'}];  
  33.         var objs = [];  
  34.         for(var i=0;i
  35.           var tmp = data[i];  
  36.           var obj = {"id":data[i].fullname, "name""" + data[i].fullname+"
    ("
    +data[i].title + ")"};  
  37.           objs.push(obj);  
  38.         }  
  39.            
  40.         var nodeobjs={};  
  41.         nodeobjs.id =  nodeId;  
  42.         nodeobjs.children =  objs;  
  43.         onComplete.onComplete(nodeId, nodeobjs);    
  44.       }else{  
  45.         var nodeobjs={};  
  46.         onComplete.onComplete(nodeId, nodeobjs);    
  47.       }  
  48.  
  49.         }, 

 

以上代碼創建一個實例,注意request部分,這段代碼用來取出點擊節點后需要顯示的字節點,在實際應用中,我們把數據庫中取出的數據生成json對象后注入這里生成子節點。

  1. //Change chart direction  
  2.   $("#top").click(function(){  
  3.       $("#orgchartori").fadeOut();  
  4.             st.switchPosition($("#top").attr("id"), "animate", {  
  5.                 onComplete: function(){  
  6.                     $("#orgchartori").fadeIn();  
  7.                 }  
  8.             });   
  9.   });  
  10.     
  11.   $("#bottom").click(function(){  
  12.       $("#orgchartori").fadeOut();  
  13.             st.switchPosition($("#bottom").attr("id"), "animate", {  
  14.                 onComplete: function(){  
  15.                     $("#orgchartori").fadeIn();  
  16.                 }  
  17.             });   
  18.   });  
  19.  
  20.   $("#right").click(function(){  
  21.       $("#orgchartori").fadeOut();  
  22.             st.switchPosition($("#left").attr("id"), "animate", {  
  23.                 onComplete: function(){  
  24.                     $("#orgchartori").fadeIn();  
  25.                 }  
  26.             });   
  27.   });  
  28.  
  29.   $("#left").click(function(){  
  30.       $("#orgchartori").fadeOut();  
  31.             st.switchPosition($("#right").attr("id"), "animate", {  
  32.                 onComplete: function(){  
  33.           $("#orgchartori").fadeIn();  
  34.                 }  
  35.             });   
  36.   });   

以上代碼用來控制組織結構圖圖形展示方向,效果請參考演示。

在線演示 在線調試

拖放及其縮放特效演示請查看如下應用案例。

應用案例:http://www.triplifes.com

相關資料:http://thejit.org/

文章來源:使用Javascript來實現的超炫組織結構圖(Organization Chart)

責任編輯:陳貽新 來源: gbin1.com
相關推薦

2011-06-14 18:37:50

Flash

2011-06-21 13:31:13

JavaScript

2020-05-06 15:59:07

JavaScript程序員技術

2020-05-09 11:20:02

Java結構圖虛擬機

2013-04-17 10:16:25

語言

2022-08-04 13:58:54

SeabornFacetGrid代碼

2012-07-09 09:31:53

silverlight

2009-04-13 10:52:59

網絡拓撲摩卡網絡

2011-04-18 17:17:45

CSSweb開發

2022-09-26 09:01:23

JavaScript淺拷貝深拷貝

2015-01-08 09:37:54

數據中心結構圖機房結構圖

2010-07-05 15:01:21

UML靜態結構圖

2010-07-05 12:37:29

用Visio畫UML圖

2010-07-05 14:48:25

UML靜態結構圖

2011-08-02 14:45:11

HTML 5

2011-03-03 10:16:46

jQueryJavaScript

2020-08-10 14:46:30

JavaScriptStack

2012-03-13 14:06:39

JavaJ2EE

2010-08-13 13:46:04

Flex效果組件

2010-09-13 13:35:39

CSS屬性
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天堂一区二区三区四区 | 天天影视网天天综合色在线播放 | av免费网址| 色性av | 久久久精品网 | 瑟瑟激情 | 国产一区二区免费在线 | 国产精品久久久久国产a级 欧美日韩国产免费 | 日韩一区二区三区在线播放 | 日本激情视频在线播放 | 伊人免费在线观看 | 懂色av一区二区三区在线播放 | 在线国产一区 | 久久久www成人免费精品 | 天天曰天天干 | 日韩在线观看一区二区三区 | 久久国产精品一区二区 | 羞羞网站免费观看 | 天天插天天射天天干 | www.日韩av.com | www.国产精品| 成人深夜福利 | 国产精品综合网 | 国产99久久精品一区二区永久免费 | 99亚洲国产精品 | 久久99深爱久久99精品 | 精品在线观看一区二区 | 国产a区| 亚洲影视在线 | 久久久久久美女 | 欧美在线高清 | 欧美黄 片免费观看 | 国产精品一二三区 | 日韩在线中文字幕 | 国产日韩欧美在线一区 | 欧美炮房 | 黄网站在线播放 | 亚洲欧美视频一区 | 在线成人 | 色婷婷久久综合 | 91久久精品国产91久久 |