1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > gojs-设置流动的连接线

gojs-设置流动的连接线

时间:2024-05-08 02:51:46

相关推荐

gojs-设置流动的连接线

gojs,是一款前端展示拓扑图的插件,它遵循自己的语法,因为他的功能丰富,官网上也可以看到许多例子,珊妹觉得不是一款很容易上手的前端插件,需要一点点挖掘它的功能,但每次发现它的新功能,对它的认可度都会+1.

今天我们来设置他的流动的连接线:(珊妹这里提供两个方法,因为学习过程中发现破解版的go.js里不支持Animation的方法)

方法一:

珊妹是拿官网里最简单的例子来学习的,因为多余的代码少,更能清楚的知道每段代码的意义;

1.首先在myDiagram.linkTemplate的设置里添加代码:

$(go.Shape,{isPanelMain:true,stroke:"lightgreen",strokeWidth:1}),

$(go.Shape,{isPanelMain:true,stroke:"lightblue",strokeWidth:5,name:"PIPE",strokeDashArray:[5,70]}),

如图:

我来给大家解释一下,流动的连接线需要设置两个颜色来看它流动的状态,如果普通的一根一个颜色的线是看不出来的,PIPE就是设置流动的管道,strokeDashArray的两个参数含义分别是:5像素长度,间距为70像素。效果如图:

2.在init方法的最后添加代码:

varanimation=newgo.Animation();

animation.easing=go.Animation.EaseLinear;

myDiagram.links.each(function(link){

animation.add(link.findObject("PIPE"),"strokeDashOffset",70,0)

});

animation.runCount=Infinity;

animation.start();

如图:

这里面strokeDashOffset的两个参数的含义分别是:偏移量,相对于绘制的起点偏移的量,偏移量是一个区间的值,无论参数值多大,偏移量不会大于线段总长度,

珊妹在测试期间发现,有时流动的不流畅,分析原因可能是偏移量设置的不合适,所以这里大家根据自身可以调节一下偏移量。

方法二:

myDiagram.linkTemplate里的设置不变,但是我们不用Animation类了,这里定义一个loop( )方法,代码如下:

varopacity=1;

vardown=true;

functionloop(){

vardiagram=myDiagram;

setTimeout(function(){

varoldskips=diagram.skipsUndoManager;

diagram.skipsUndoManager=true;

diagram.links.each(function(link){

varshape=link.findObject("PIPE");

varoff=shape.strokeDashOffset-3;

//设置(移动)笔划划动画

shape.strokeDashOffset=(off<=0)?60:off;

//动画(频闪)不透明度:

if(down)opacity=opacity-0.01;

elseopacity=opacity+0.003;

if(opacity<=0){down=!down;opacity=0;}

if(opacity>1){down=!down;opacity=1;}

shape.opacity=opacity;

});

diagram.skipsUndoManager=oldskips;

loop();

},60);

}

记住!!!,同样在init( )方法里调用loop( )方法,loop( )这个方法里对流动的透明度也有设置,如果大家用不到可以去掉。

好啦~~~今天的分享就到这里,关注博主不迷路,精彩内容下次继续。。。。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。