亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

詳解快速開發基于 HTML5 網絡拓撲圖應用

2024-08-26 00:20:16
字體:
來源:轉載
供稿:網友

今天開始我們就從最基礎解析如何構建 HTML5 Canvas 拓撲圖應用,HT 內部封裝了一個拓撲圖形組件 ht.graph.GraphView(以下簡稱 GraphView)是 HT 框架中 2D 功能最豐富的組件,其相關類庫都在 ht.graph 包下。GraphView 具有基本圖形的呈現和編輯功能,拓撲節點連線及自動布局功能,電力和電信等行業預定義對象,具有動畫渲染等特效,因此其應用面很廣泛,可作為監控領域的繪圖工具和人機界面,可作為一般性的圖形化編輯工具,可擴展成工作流和組織圖等企業應用。簡單說來就是:拓撲圖是泛化的說法,電信網管的網絡拓撲圖、電力的電網拓撲圖、工業控制的監控圖、工作流程圖、思維腦圖等等,簡單說就是節點連線構成的這些都是這里指的拓撲圖。

用 HT 開發一個網絡拓撲圖是非常容易的一件事,只需要短短幾行代碼就能完成一個簡單的服務器與客戶端的拓撲圖:

HTML5,網絡拓撲圖

這個例子非?;A,幾乎完成了服務器與客戶端在拓撲上的所有功能。話不多說,猜猜看這個例子包括 HTML 標簽的所有部分總共花了多少行代碼?減去空行也就 50 行,我還做了很多樣式部分的設計,畢竟給大家看的例子不能太丑嘛~

大家可以在 tuputu_jb51.rar 自行下載代碼,注意因為有 json 文件,會存在圖片跨域問題,需要用 Firefox 或者本地服務器跑起來。

我們在最開始就說明一下,HT 是基于 HTML5 標準的企業應用圖形界面一站式解決方案, 其包含通用組件、拓撲組件和 3D 渲染引擎等豐富的圖形界面開發類庫,用戶只需要引入 ht.js 即可,而且跟別的任何東西完全不沖突,因為 HT 只是聲明了一個全局變量 ht,僅此而已。

接下來解析代碼部分,首先,搭建拓撲圖場景:

dm = new ht.DataModel();//數據容器gv = new ht.graph.GraphView(dm);//拓撲組件 參數為dm 綁定的數據模型gv.addToDOM();//將拓撲圖添加進body體中

HT 的所有組件的根部都是一個 div,通過 getView() 方法獲取,我們在 addToDOM 方法中就用到了這個方法:

addToDOM = function(){       var self = this,        view = self.getView(),  //獲取組件底層 div        style = view.style;     document.body.appendChild(view);//將底層 div 添加進 body 體中               style.left = '0';//HT 一般將組件都設置為 absolute 的絕對定位    style.right = '0';    style.top = '0';    style.bottom = '0';          window.addEventListener('resize', function () { self.iv(); }, false); //事件監聽窗口大小變化,iv 為延時刷新組件         }

然后向拓撲場景中添加“服務器”以及“客戶端”節點:

var server = new ht.Node();server.setName('server');//設置節點名稱,顯示在節點下方server.setImage('serverImage');//設置節點圖片server.setSize(20, 60);//設置節點大小dm.add(server);//將節點添加進數據容器dm中server.setPosition(100, 100);//設置節點坐標(x, y)var group = new ht.Group();//組,組中可以有多個節點group.setImage('groupImage');//設置圖片dm.add(group);var client = new ht.Node();//這個節點是添加進組中的client.setName('client');client.setImage('clientImage');dm.add(client);group.addChild(client);//組添加孩子group.setExpanded(true);//設置組為展開模式client.setPosition(200, 100);//設置節點位置 如果組中只有一個節點,那么這個節點的位置可以為組的位置

服務端與客戶端的連線?2 行代碼搞定!其實 HT 中添加節點的方法非常簡單,一般就 2 行代碼能結束:先聲明實例變量,然后將這個實例變量添加進數據容器中。

var edge = new ht.Edge(server, client);dm.add(edge);

我們很好奇虛線是怎么做出來的?虛線的形成是搭建在連線之上的,步驟有 3 個:

  1. 引入 ht-dashflow.js 文件 ;
  2. 將連線的樣式屬性 edge.dash.flow 設置為 true;
  3. 在場景組件中打開虛線流動的開關,這里就是 gv.enableDashFlow(true);

是不是非常簡單!接下來我們看看怎么設置:

edge.s({//節點設置樣式屬性    'edge.dash': true,//顯示虛線    'edge.dash.flow': true,//開啟虛線流動    'edge.dash.color': 'yellow',//虛線顏色    'edge.dash.pattern': [8, 8],//虛線樣式    'label': 'flow',//節點注釋    'label.background': 'pink',//節點注釋背景顏色        });

這樣所有的顯示部分就介紹完畢啦~等等,好像還少點什么?對了,我忘了介紹 HT 中的 ht.Group 類了,顧名思義,就是“組”的意思,組中可以包含很多節點,雙擊可顯示或隱藏組內的所有節點,上面代碼有寫到,但是我還做了一點小動作,就是組右上角的顯示部分,其實就是一個標注,用來提示說明的:

group.s({    'group.background': 'rgba(255, 255, 0, 0.1)',//設置組的背景顏色    'note': "Double click me!",//標注 顯示的內容    'note.position': 13,//標注位置    'note.offset.y': 10,//標注位置y軸偏移});

我們可以通過 note.position 來改變標注的位置(具體位置信息請參考HT for Web 位置手冊 ),也可以使用 note.offset.x 和 note.offset.y 來改變標注的位置。

全部代碼解析完畢!我會盡快更新,如果大家覺得進度慢的話,可以自己去我們官網( HT for Web )上學習,希望大家能有更多的收獲,學習是自己的事情,快動手實踐將這片文章的內容變成你自己的知識吧!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到HTML教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品第二页| 亚洲国产精品悠悠久久琪琪| 成人美女av在线直播| 成人av在线天堂| 精品视频www| 日韩精品在线视频美女| 久久国产视频网站| 欧美精品一本久久男人的天堂| 亚洲精品一区二区久| 欧美日韩国产激情| 欧美日本高清一区| www.日韩不卡电影av| 亚洲性生活视频| 精品久久久久久久久久久久久久| 日韩女优在线播放| 精品久久久久久| 91沈先生作品| 日韩欧美在线观看| 久久天堂av综合合色| 在线亚洲国产精品网| 欧美精品999| 精品亚洲一区二区三区四区五区| 欧美中文字幕视频在线观看| 久久久久久久激情视频| 川上优av一区二区线观看| 欧美精品在线视频观看| 亚洲欧美国产一区二区三区| 日韩高清免费观看| 欧美专区在线观看| 性欧美办公室18xxxxhd| 国产精品v日韩精品| 欧美在线一区二区三区四| 97在线看免费观看视频在线观看| 亚洲精品国产美女| 国产精品高清免费在线观看| 欧美日韩高清在线观看| 亚洲日本成人网| 久久成人人人人精品欧| 国产精品成人aaaaa网站| 欧美性受xxx| 亚洲激情自拍图| 欧美一级大胆视频| 97香蕉超级碰碰久久免费软件| 久久久久久久久久婷婷| 国产亚洲欧美日韩美女| 91精品视频播放| 国产精品美女免费| 亚洲国产精品久久久久秋霞蜜臀| 上原亚衣av一区二区三区| 国产一区欧美二区三区| 亚洲国产天堂久久综合网| 欧美在线日韩在线| 成年无码av片在线| 国产一级揄自揄精品视频| 亚洲欧美另类中文字幕| 欧美情侣性视频| 欧美成人精品h版在线观看| 欧美第一页在线| 亚洲性猛交xxxxwww| 亚洲精品狠狠操| 久久久久久亚洲精品| 91精品国产沙发| 久久久伊人日本| xxxx欧美18另类的高清| 久久久91精品国产| 欧美视频在线观看免费网址| 日韩在线激情视频| 欧美麻豆久久久久久中文| 国产日韩欧美在线播放| 最近2019中文字幕第三页视频| 久久人人爽人人爽人人片av高清| 久久中文字幕视频| 性欧美暴力猛交69hd| 97视频在线观看网址| www.色综合| 一区二区欧美久久| 国产69精品久久久久99| 国产精品99久久久久久久久| 亚洲网站在线看| 亚洲精品v天堂中文字幕| 色99之美女主播在线视频| 97免费中文视频在线观看| 国产精品视频免费在线| 亚洲一二在线观看| 日韩在线一区二区三区免费视频| 亚洲欧洲午夜一线一品| 亚洲www永久成人夜色| 免费不卡欧美自拍视频| 国产精品一区二区三区在线播放| 国产69精品久久久久9999| 欧美亚洲第一区| 久久久这里只有精品视频| 亚洲国产三级网| 久久精品国产清自在天天线| 91久久久久久久久久久久久| 久久天天躁夜夜躁狠狠躁2022| 亚洲综合小说区| 亚洲一区二区久久久久久| 国产精品视频在线播放| 欧美国产极速在线| 美日韩精品免费观看视频| 欧美整片在线观看| 欧美精品www| 国产精品久久久久久搜索| 欧美性猛交xxxx| 亚洲国产高潮在线观看| 日本精品久久久久久久| 成人精品一区二区三区电影黑人| 国产成人精品电影久久久| 8090理伦午夜在线电影| 久久av资源网站| 亚洲网址你懂得| 九色成人免费视频| 亚洲国产欧美在线成人app| 亚洲九九九在线观看| 91在线精品视频| 欧美日韩国产在线播放| 7m精品福利视频导航| 成人免费淫片aa视频免费| 国产精品精品视频一区二区三区| 亚洲美女精品成人在线视频| 国产日韩欧美电影在线观看| 国产主播在线一区| 久久久久亚洲精品成人网小说| 黑人巨大精品欧美一区二区一视频| 亚洲性生活视频| 国产精品成人免费视频| 亚洲福利小视频| 亚洲精品欧美日韩专区| 欧美一级视频一区二区| 中文字幕国产亚洲2019| 亚洲字幕在线观看| 色一情一乱一区二区| 在线播放国产一区二区三区| 国产精品成人一区二区三区吃奶| 精品亚洲一区二区三区四区五区| 欧美精品免费在线观看| 国模私拍视频一区| 在线不卡国产精品| 亚洲免费成人av电影| 九九热视频这里只有精品| 欧美性极品xxxx做受| 欧美日韩国产专区| 欧美亚洲伦理www| 国产精品久久久久久av| 亚洲bt欧美bt日本bt| 最新69国产成人精品视频免费| 国产自产女人91一区在线观看| 国产精品视频1区| 亚洲午夜精品久久久久久久久久久久| 亚洲美女又黄又爽在线观看| 亚洲精品国产精品国自产观看浪潮| 欧美理论片在线观看| 欧美日韩高清在线观看| 亚洲人成免费电影| 欧美精品一区三区| 欧美亚洲在线视频| 中文字幕精品国产| 国产精品v日韩精品| 在线电影欧美日韩一区二区私密| 国产精品女主播视频| 热99精品只有里视频精品| 久久免费观看视频| 一区二区亚洲欧洲国产日韩|