返回顶部
首页 > 资讯 > 精选 >如何开发基 HTML5网络拓扑图的应用
  • 714
分享到

如何开发基 HTML5网络拓扑图的应用

2023-06-09 15:06:02 714人浏览 安东尼
摘要

这篇文章主要介绍如何开发基 HTML5网络拓扑图的应用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!今天开始我们就从最基础解析如何构建 html5 canvas 拓扑图应用,HT 内部封装了一个拓扑图形组件 ht.g

这篇文章主要介绍如何开发HTML5网络拓扑图的应用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

今天开始我们就从最基础解析如何构建 html5 canvas 拓扑图应用,HT 内部封装了一个拓扑图形组件 ht.graph.GraphView(以下简称 GraphView)是 HT 框架中 2D 功能最丰富的组件,其相关类库都在 ht.graph 包下。GraphView 具有基本图形的呈现和编辑功能,拓扑节点连线及自动布局功能,电力和电信等行业预定义对象,具有动画渲染等特效,因此其应用面很广泛,可作为监控领域的绘图工具和人机界面,可作为一般性的图形化编辑工具,可扩展成工作流和组织图等企业应用。简单说来就是:拓扑图是泛化的说法,电信网管的网络拓扑图、电力的电网拓扑图、工业控制的监控图、工作流程图、思维脑图等等,简单说就是节点连线构成的这些都是这里指的拓扑图。

用 HT 开发一个网络拓扑图是非常容易的一件事,只需要短短几行代码就能完成一个简单的服务器与客户端的拓扑图:

如何开发基 HTML5网络拓扑图的应用

这个例子非常基础,几乎完成了服务器与客户端在拓扑上的所有功能。话不多说,猜猜看这个例子包括 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 来改变标注的位置。

以上是“如何开发基 HTML5网络拓扑图的应用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 如何开发基 HTML5网络拓扑图的应用

本文链接: https://lsjlt.com/news/256503.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何开发基 HTML5网络拓扑图的应用
    这篇文章主要介绍如何开发基 HTML5网络拓扑图的应用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!今天开始我们就从最基础解析如何构建 HTML5 Canvas 拓扑图应用,HT 内部封装了一个拓扑图形组件 ht.g...
    99+
    2023-06-09
  • 怎么应用html5实现网络拓扑图上文本
    本篇内容主要讲解“怎么应用html5实现网络拓扑图上文本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么应用html5实现网络拓扑图上文本”吧!从上图可以看出...
    99+
    2024-04-02
  • 如何使用HTML5中Canvas创建电信网络拓扑图
    小编给大家分享一下如何使用HTML5中Canvas创建电信网络拓扑图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果图http://www.hightopo.c...
    99+
    2023-06-09
  • vue用vis插件如何实现网络拓扑图
    目录vis插件实现网络拓扑图安装引入visvis使用示例vis官方文档vis.js网络拓扑图点击折叠节点和展开节点首先看一下效果图vis插件实现网络拓扑图 安装引入vis 1.npm...
    99+
    2024-04-02
  • Cacti系统如何处理网络拓扑图的展示
    Cacti系统通过使用SNMP协议来监控网络设备,获取设备的各种性能数据,并根据这些数据生成网络拓扑图。在Cacti系统中,用户可以...
    99+
    2024-04-02
  • Node.js WebSocket:现代网络应用程序开发的基石
    WebSocket 的优势 实时通信:WebSocket 允许客户端和服务器之间无延迟地进行双向通信。 服务器推送:服务器可以主动向客户端推送数据,而不必等待客户端发出请求。 高效:WebSocket 使用二进制帧进行通信,比 HTTP...
    99+
    2024-04-02
  • 如何用Go语言开发一个简单的社交网络应用
    如何用Go语言开发一个简单的社交网络应用引言社交网络已经成为人们日常生活中不可或缺的一部分。随着技术的发展,开发一个属于自己的社交网络应用已经变得越来越简单。本文将以Go语言为开发工具,介绍如何快速开发一个简单的社交网络应用。第一步:设计数...
    99+
    2023-11-20
    开发 Go语言 社交网络
  • Vue如何开发高德地图应用
    这篇文章主要为大家展示了“Vue如何开发高德地图应用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue如何开发高德地图应用”这篇文章吧。异步加载因为使用 js sdk 应用,脚本文件本身体积很...
    99+
    2023-06-20
  • PHP在网络出版平台开发中的应用
    随着互联网的快速发展,数以亿计的用户在网络上获取信息和阅读内容已经成为一种常见的方式。在这个数字时代,出版业也开始转向网络出版平台,以满足用户的需求和提供更加便利的阅读体验。PHP作为一种强大的服务器脚本语言,在网络出版平台的开发中发挥着重...
    99+
    2023-10-27
    PHP (关键词) 网络出版平台 (关键词) 应用 (关键词)
  • PHP在网络教育平台开发中的应用
    随着互联网的普及与发展,网络教育平台成为了一个热门的发展领域。在这个领域中,PHP作为一种开源的、灵活且强大的脚本语言,被广泛应用于网络教育平台的开发中。本文将重点介绍PHP在网络教育平台开发中的应用。首先,PHP具有良好的与数据库的交互能...
    99+
    2023-10-27
    PHP编程 开发应用 网络教育平台
  • 如何开发基于Netty的HTTP/HTTPS应用程序
    目录一、通过 SSL/TLS 保护应用程序二、HTTP 编解码器三、聚合 HTTP 消息四、HTTP 压缩五、HTTPS六、WebSocket一、通过 SSL/TLS 保护应用程序 ...
    99+
    2024-04-02
  • 如何使用html5 Canvas绘制基本的图形
    这篇文章主要介绍“如何使用html5 Canvas绘制基本的图形”,在日常操作中,相信很多人在如何使用html5 Canvas绘制基本的图形问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2024-04-02
  • html5中geolocation如何结合google maps开发一个小的应用
    这篇文章主要介绍了html5中geolocation如何结合google maps开发一个小的应用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一...
    99+
    2024-04-02
  • 网络操作系统:存储虚拟化,开拓无边界数据应用的新蓝海
    随着企业数字化转型步伐的加快,数据量激增,传统的存储方式已经无法满足企业的需求。存储虚拟化技术应运而生,它可以将多个物理存储设备整合为一个逻辑存储池,从而实现存储资源的统一管理和优化利用。存储虚拟化技术还支持多种协议,如SCSI、iSCS...
    99+
    2024-02-11
    存储虚拟化 数据应用 云计算 大数据 物联网
  • 如何使用PHP进行神经网络和深度神经网络开发?
    随着人工智能技术的发展,神经网络和深度神经网络越来越受到关注。它们被应用于计算机视觉、自然语言处理、机器翻译等领域。如果你想学习如何使用PHP进行神经网络和深度神经网络开发,那么本文就为你介绍一些基本的知识。神经网络和深度神经网络简介神经网...
    99+
    2023-05-21
    神经网络 PHP 深度神经网络
  • PHP在网络音乐播放系统开发中的应用
    PHP(Hypertext Preprocessor)是一种广泛应用于网络开发的脚本语言,它被广泛应用于各种网站和应用的开发中。在网络音乐播放系统的开发中,PHP也扮演了重要的角色。本文将探讨PHP在网络音乐播放系统中的应用。首先,PHP可...
    99+
    2023-10-27
    音频文件管理等功能。
  • PHP在网络餐饮订餐系统开发中的应用
    随着互联网的发展和生活水平的提高,越来越多的人选择在线订购外卖来满足自己的需求。网络餐饮订餐系统在这个时代开始崭露头角。PHP作为一种成熟而广泛使用的开发语言,在网络餐饮订餐系统的开发中扮演了重要角色。首先,PHP在订餐系统的用户界面开发中...
    99+
    2023-10-27
    即订餐过程的自动化。
  • PHP在网络电影推荐系统开发中的应用
    PHP在网络电影推荐系统开发中的应用随着互联网技术的不断发展,越来越多的人开始使用网络观看电影。而在海量电影资源之中,想要找到符合自己口味的电影并不容易。为了解决这个问题,许多电影推荐系统应运而生。其中,PHP作为一种使用广泛的服务器端脚本...
    99+
    2023-10-27
    包括电影信息
  • PHP在网络房产信息系统开发中的应用
    随着互联网的快速发展,房地产行业也逐渐步入网络化时代。网络房产信息系统的开发逐渐应运而生,成为房地产公司及中介机构必备的工具。而PHP作为一种强大的开发语言,具备快速、灵活、易学等特点,被广泛应用于网络房产信息系统的开发中。首先,PHP在网...
    99+
    2023-10-28
    网络 应用 房产
  • 如何使用HTML5移动开发图片压缩上传功能
    这篇文章主要为大家展示了“如何使用HTML5移动开发图片压缩上传功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用HTML5移动开发图片压缩上传功能”这...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作