twaver拓扑图通道组织图(百分比使用率/水槽)效果实现
功能介绍:
利用拓扑图实现:64条通道,根据每条通道是否承载业务,提供百分比展示
首先上图,功能效果如图:

废话不多,直接上代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="pragma" content="no-cache">
<title>矩形百分比通道组织图核心图</title>
<script src="twaver.js"></script>
</head>
<body onload="init()">
</body>
<script type="text/javascript">
var box = new twaver.ElementBox();
var network = new twaver.vector.Network(box);
function init () {
var view = network.getView();
document.body.appendChild(view);
network.adjustBounds({ x: 0, y: 0, width: 800, height: 1000 });
initBox();
}
function initBox () {
var val = 0.3;
var w = 40;
var h = 40;
for( var i=0;i<64;i++ ){
var node = new twaver.Node({
id: i+1,
width: w,
height: h,
image: 'tank',
clients: {
value: Math.random(0.01*i,1),
focus: false
}
});
if ( i%4==0 || i>=4 ) {
node.setLocation(45 + (i%4)*45, 45+Math.floor(i/4)*45);
} else {
node.setLocation(45 + (i%4)*45, 45);
}
box.add(node);
}
}
twaver.Util.registerImage ('tank', {
w: 42,
h: 42,
origin:{ x:0,y:0 },
clip: [{
shape: "rect",
rect: [0,0,42,42],
r: 5
}],
v: [
{
shape: "rect",
rect: [0,0,42,42],
fill: function (data, view) {
return data.getClient('focus') ? '#6ecdfb' : '#ddd';
}
},
{
shape: 'rect',
y: function (data) {
return ( 1 - data.getClient('value') ) * 42;
},
w: 42,
h: 42,
fill: function (data, view) {
return data.getClient('focus') ? '#6ecdfb' : '#39ee3f';
}
},
{
shape: 'text',
text: function (data) {
var value = data.getClient("value");
return Math.floor(value*100) + "%" ;
},
font: '12px "Microsoft Yahei"',
fill: '#000',
translate: { x:20,y:28 },
},
{
shape: 'text',
text: function (data) {
var value = data.getId();
return 'VC4-'+value ;
},
font: '11px "Microsoft Yahei"',
fill: '#000',
translate: { x:20,y:14 },
}
],
//单击选中通道,再次单击取消选中
onClick: function (data,view) {
var select = function () { data.setClient('focus',true); };
var unselect = function () { data.setClient('focus',false); };
data.getClient('focus') == false ? select() : unselect();
}
});
</script>
</html>
搞定收工!
twaver拓扑图通道组织图(百分比使用率/水槽)效果实现的更多相关文章
- twaver拓扑图拖拽后保存json数据
功能描述:拓扑图.对节点进行拖拽,序列化获取拓扑图信息,保存到本地localStorage,刷新页面,执行反序列化,从本地获取之前保存的数据,展现之前拖拽后的拓扑 拓展:此处存储用的是web本地存储l ...
- 怎样创建TWaver 3D的轮廓选中效果
在一般的游戏中.物体的选中效果会是这样: TWaver 3D中,物体的默认的选中效果一般都是一个方方正正的外框.在HTML5的Mono版本号中,TWaver提供了轮廓线样式的选中效果. 通过例如以下代 ...
- 如何创建TWaver 3D的轮廓选中效果
在一般的游戏中,物体的选中效果会是这样: TWaver 3D中,物体的默认的选中效果一般都是一个方方正正的外框.在HTML5的Mono版本中,TWaver提供了轮廓线样式的选中效果. 通过如下代码把几 ...
- Div高度百分比
有时候设置高度百分比,没有效果. 原因是父元素没有设置高度. 父元素可以设置高度为具体的px.或是100%等百分比. 这样子元素再能根据百分比来设置高度. <style type="t ...
- Android 自定义view --圆形百分比(进度条)
转载请注明出处:http://blog.csdn.net/wingichoy/article/details/50334595 注:本文由于是在学习过程中写的,存在大量问题(overdraw onDr ...
- MatCap冰冻效果Shader
MatCap方案 使用说明 制作合适的MatCap贴图 这张图决定冰像不像,网上找.Vray渲个球.ASE或者ShaderForge连,甚至直接手绘,总之只要一张长得像下面的图 注意MatCap图只有 ...
- css3帮你轻松实现圆角效果,不一样的前端页面。
在Web前端页面实现圆角效果,CSS3帮你轻松实现,一个人人皆知的属性 圆角边框的绘制是Web页面和Web应用程序中经常用来美化页面效果的手法之一.今天,小编为大家介绍CSS3提供的可以将矩形变为圆角 ...
- JS框架_(JQbar.js)柱状图动态百分比进度条特效
百度云盘 传送门 密码:q6rt 柱状图动态百分比进度条效果 <html> <head> <title>jqbar.js柱状图动态百分比进度条特效</titl ...
- 使用Three.js实现神奇的3D文字悬浮效果
声明:本文涉及图文和模型素材仅用于个人学习.研究和欣赏,请勿二次修改.非法传播.转载.出版.商用.及进行其他获利行为. 背景 在 Three.js Journey 课程示例中,提供了一个使用 Thre ...
随机推荐
- 多线程 NSThread 的使用
NSThread简介 使用NSThread 实现多线程,需要手动管理线程的生命周期, 一.线程的创建 //1.实例方法创建,,需要手动启动线程 NSThread *thread = [[NSThrea ...
- 【语义分割】PSPNet中PSP模块的pytorch实现
github地址:https://github.com/Lextal/pspnet-pytorch/blob/master/pspnet.py PSP模块示意图如下 代码如下 class PSPMod ...
- 简单了解树形DP
今天在B站看了一个树形DP教学视频有所收获,做一个小小的总结 AV号和链接在这:av12194537 那么先介绍一下树形DP 树形DP就是在树这个特殊的数据结构上进行的DP.有两种方向:自顶向下和自底 ...
- C++_类入门5-智能指针模板类
智能指针是行为类似于指针的类对象,但这种对象还有其他功能. 本节介绍三个可帮助管理动态内存分配的智能指针模板(auto_ptr.unique_ptr和shared_ptr). void remodel ...
- 马的移动(BFS) 详细注释 一个具有情怀的题目
题目描述 小明很喜欢下国际象棋,一天,他拿着国际象棋中的"马"时突然想到一个问题: 给定两个棋盘上的方格a和b,马从a跳到b最少需要多少步? 现请你编程解决这个问题. 提示:国际象 ...
- HibernateUtil hibernate4.0以上
package com.test.bbs.util; import org.hibernate.Session; import org.hibernate.SessionFactory; import ...
- nginx+uwsgi+virtualenv+supervisor部署项目
一.导论 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以及Web应用程序如何链接在一起以处理一个请求,(接收请求,处理请求,响应请求) 基于wsgi运行的 ...
- vue指令与事件修饰符
一.条件渲染指令 vue中提供了两个指令可以用于判断是否要显示元素,分别是v-if和v-show. 实例: <!DOCTYPE html> <html lang="en&q ...
- C++ GUI Qt4编程(11)-5.1hexSpinbox
1. hexspinbox.cpp /* * The spin box supports integer values but can be extended to use different str ...
- javascript中构造函数与普通函数的区别还有关于“new”操作符的一些原理
有一种创建对象的方法叫做工厂模式,例如: function person(name,age){ var o=new Object(); o.name=name; o.age=age; return o ...