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

首頁 > 開發 > HTML5 > 正文

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

2024-09-05 07:22:18
字體:
來源:轉載
供稿:網友

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

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

這個例子非?;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 )上學習,希望大家能有更多的收獲,學習是自己的事情,快動手實踐將這片文章的內容變成你自己的知識吧!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲日本中文字幕免费在线不卡| 亚洲色图第三页| 亚洲人成网站777色婷婷| 欧美另类高清videos| 日本一区二区在线播放| 国产精品男人的天堂| 国产综合色香蕉精品| 亚洲人成人99网站| 亚洲free性xxxx护士白浆| 久久久精品免费| 国产精品久久久久久久久久免费| 91精品国产777在线观看| 国产日韩欧美日韩大片| 亚洲国产一区自拍| 色哟哟亚洲精品一区二区| 国产激情久久久久| 97视频在线观看免费高清完整版在线观看| 欧洲中文字幕国产精品| 亚洲国产日韩精品在线| 国产精品爱啪在线线免费观看| 不卡av在线播放| 国产欧美日韩中文字幕在线| 4438全国亚洲精品在线观看视频| 久久视频国产精品免费视频在线| 欧美日韩国内自拍| 91久久在线播放| 欧美日韩国产综合新一区| 国产精品视频午夜| 亚洲欧美日韩网| 国产欧美中文字幕| 日韩欧美精品在线观看| 日韩视频免费中文字幕| 国产日韩中文在线| 国产成人啪精品视频免费网| 亚洲а∨天堂久久精品9966| 欧美日本在线视频中文字字幕| 日韩电影大全免费观看2023年上| 精品久久久久久久久久久| 45www国产精品网站| 亚洲国产小视频在线观看| 另类视频在线观看| 韩剧1988免费观看全集| 亚洲女人天堂视频| 青草青草久热精品视频在线观看| 欧美极品美女电影一区| 亚洲天堂一区二区三区| 在线亚洲男人天堂| 日韩欧美成人免费视频| 九九久久国产精品| 北条麻妃99精品青青久久| 欧美亚洲视频在线看网址| 欧美日韩在线另类| 97视频在线观看免费| 日韩中文字幕国产精品| 国产精品视频久久久久| www.色综合| 永久555www成人免费| 狠狠躁夜夜躁久久躁别揉| 国产精品99一区| 91久久久久久久| 亚洲r级在线观看| 欧美激情乱人伦一区| 国产精品丝袜久久久久久高清| 亚洲欧洲在线视频| 45www国产精品网站| 欧美性猛交xxxx免费看漫画| 亚洲图片欧洲图片av| 大伊人狠狠躁夜夜躁av一区| 久久精品中文字幕电影| 久久久久久噜噜噜久久久精品| 国产美女久久精品| 中文字幕日本精品| 68精品国产免费久久久久久婷婷| 久久久www成人免费精品张筱雨| 久久久成人精品| 亚洲日本aⅴ片在线观看香蕉| 疯狂做受xxxx欧美肥白少妇| 黑人极品videos精品欧美裸| 热草久综合在线| 国产精品国产三级国产aⅴ浪潮| 欧美日本啪啪无遮挡网站| 欧美激情欧美激情| 亚洲国产成人在线播放| 国产精品久久视频| 欧美日韩亚洲视频| 欧美一区二区三区免费观看| 成人国产精品久久久久久亚洲| 伊是香蕉大人久久| 欧美xxxwww| 国产成人精品一区| 亚洲精品www久久久久久广东| 午夜精品福利视频| 18久久久久久| 国产精品久久久久99| 国产又爽又黄的激情精品视频| 亚洲欧美中文日韩在线v日本| 日韩中文字幕在线| 国产91|九色| 中文字幕精品www乱入免费视频| 日韩精品免费综合视频在线播放| 国产精品第10页| 国产欧美日韩丝袜精品一区| 98精品国产高清在线xxxx天堂| 欧美老女人xx| 亚洲精品狠狠操| 激情久久av一区av二区av三区| 91嫩草在线视频| 精品露脸国产偷人在视频| 国产精品久久久久久久久免费| 亚洲欧美另类中文字幕| 亚洲一区二区久久久| 成人a视频在线观看| 亚洲欧美中文另类| 日韩视频亚洲视频| 中文字幕精品久久久久| 国产视频福利一区| 日韩精品免费在线视频| 日韩激情视频在线| 国产又爽又黄的激情精品视频| 亚洲精品自产拍| 国产精品96久久久久久又黄又硬| 日韩亚洲第一页| 欧美大片在线影院| 一区二区三区回区在观看免费视频| 在线日韩日本国产亚洲| 色爱精品视频一区| 国产精品亚洲一区二区三区| 97在线免费观看视频| 国产精品影片在线观看| 在线视频欧美性高潮| 亚洲欧美日韩精品久久亚洲区| 最新国产成人av网站网址麻豆| 最近免费中文字幕视频2019| 96精品久久久久中文字幕| 久久福利网址导航| 亚洲一区制服诱惑| 亚洲激情在线观看| 国产精品wwww| 国产成人久久久| 久久91亚洲精品中文字幕| 国内精品久久久久久久久| 欧美日本国产在线| 国产成人自拍视频在线观看| 永久555www成人免费| 国产成人精品视频| 亚洲欧洲一区二区三区久久| 久久综合久久八八| 国产精品九九久久久久久久| 日韩专区中文字幕| 亚洲国产高潮在线观看| 成人黄色午夜影院| 国产精品久久久久影院日本| 国产亚洲精品久久久久久牛牛| 欧美国产日韩一区二区三区| 国产在线精品播放| 成人国产精品免费视频| 色一情一乱一区二区| 国产精品久久电影观看| 欧美壮男野外gaytube| 亚洲国产高清福利视频| 久久综合免费视频影院| 亚洲第一页在线| 欧美精品免费在线观看| 欧美激情一二三|