功能介绍:
利用拓扑图实现: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拓扑图通道组织图(百分比使用率/水槽)效果实现的更多相关文章

  1. twaver拓扑图拖拽后保存json数据

    功能描述:拓扑图.对节点进行拖拽,序列化获取拓扑图信息,保存到本地localStorage,刷新页面,执行反序列化,从本地获取之前保存的数据,展现之前拖拽后的拓扑 拓展:此处存储用的是web本地存储l ...

  2. 怎样创建TWaver 3D的轮廓选中效果

    在一般的游戏中.物体的选中效果会是这样: TWaver 3D中,物体的默认的选中效果一般都是一个方方正正的外框.在HTML5的Mono版本号中,TWaver提供了轮廓线样式的选中效果. 通过例如以下代 ...

  3. 如何创建TWaver 3D的轮廓选中效果

    在一般的游戏中,物体的选中效果会是这样: TWaver 3D中,物体的默认的选中效果一般都是一个方方正正的外框.在HTML5的Mono版本中,TWaver提供了轮廓线样式的选中效果. 通过如下代码把几 ...

  4. Div高度百分比

    有时候设置高度百分比,没有效果. 原因是父元素没有设置高度. 父元素可以设置高度为具体的px.或是100%等百分比. 这样子元素再能根据百分比来设置高度. <style type="t ...

  5. Android 自定义view --圆形百分比(进度条)

    转载请注明出处:http://blog.csdn.net/wingichoy/article/details/50334595 注:本文由于是在学习过程中写的,存在大量问题(overdraw onDr ...

  6. MatCap冰冻效果Shader

    MatCap方案 使用说明 制作合适的MatCap贴图 这张图决定冰像不像,网上找.Vray渲个球.ASE或者ShaderForge连,甚至直接手绘,总之只要一张长得像下面的图 注意MatCap图只有 ...

  7. css3帮你轻松实现圆角效果,不一样的前端页面。

    在Web前端页面实现圆角效果,CSS3帮你轻松实现,一个人人皆知的属性 圆角边框的绘制是Web页面和Web应用程序中经常用来美化页面效果的手法之一.今天,小编为大家介绍CSS3提供的可以将矩形变为圆角 ...

  8. JS框架_(JQbar.js)柱状图动态百分比进度条特效

    百度云盘 传送门 密码:q6rt 柱状图动态百分比进度条效果 <html> <head> <title>jqbar.js柱状图动态百分比进度条特效</titl ...

  9. 使用Three.js实现神奇的3D文字悬浮效果

    声明:本文涉及图文和模型素材仅用于个人学习.研究和欣赏,请勿二次修改.非法传播.转载.出版.商用.及进行其他获利行为. 背景 在 Three.js Journey 课程示例中,提供了一个使用 Thre ...

随机推荐

  1. 【离散数学】 SDUT OJ 哪款赛车最佳?

    哪款赛车最佳? Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 四名专家对四款赛车进行 ...

  2. gym 102082G BZOJ4240 贪心+树状数组

    4240: 有趣的家庭菜园 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 756  Solved: 349[Submit][Status][Discu ...

  3. 【Linux】DNS服务-BIND基础配置

    1.BIND简介 现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Intern ...

  4. Java 实现邮件的发送

                                             Java 实现邮件的发送 开发邮箱发送功能必须看邮箱方面的资料 改一些东西  (我的是qq 邮箱哟   开通 POP3 ...

  5. requirejs重点

    1.shim:用于配置不是通过define函数包装的文件,导出什么东西,如果这个文件不再baseURL目录下的话,需要在paths中配置文件目录.并且paths中的键名.shim中的键名.requir ...

  6. 012 Android Palette颜色选择器的使用

    1.页面总体使用线性布局(LinearLayout) 2.将Toolbar(顶部菜单栏)拖入design模式下的设计界面中 3.颜色选择器需要在build.gradle中手动的添加 compile ' ...

  7. C++_类和动态内存分配4-有关返回对象的说明

    返回方式: 返回指向对象的引用: 指向对象的const引用: const对象:  =============================================== 返回指向const对象 ...

  8. 不要重复发明轮子-C++STL

    闫常友 著. 中国铁道出版社. 2013/5 标准的C++模板库,是算法和其他一些标准组件的集合. . 1.类模板简介 2.c++中的字符串 3.容器 4.c++中的算法 5.迭代器 6.STL 数值 ...

  9. c# 动态生成继承类并实现序列化特性

    项目来源 App传过来的字段是动态的,希望能保证扩展性,返回时,把所需要的字段与数据融合后再返回过去 数据是第3方来源的,但是序列化后的结果又希望能并列返回 如:App传过来 一个设备Id,客户Id等 ...

  10. vim大法

    $Linux vi/vim编辑器常用命令与用法总结 (一)vi/vim是什么?Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字 ...