D3有向图中链接动画的速度问题
D3 speed issue with link animation in directed graph
我正在尝试使用下面的代码在力布局定向图上设置链接的动画。链接是简单的线,而不是路径。我按下按钮启动动画。样式更改(在onTick中)会立即发生,但问题是动画本身需要大约10秒才能开始。我做错什么了吗?我可以加快动画的开始速度吗。我不得不说,一旦动画开始,动画运行得非常好。
function animLink( d )
{
this.transition()
.delay(0)
.duration(10000)
.ease( "linear" )
.attrTween( "stroke-dashoffset", function() {
var i = d3.interpolateString( "1000", "0" );
return function(t) { return i(t); };
} )
.each( "end", function() { d3.select(this).call(animLink); } );
}
onTick = function(e)
{
if (buttonPressed)
link
.style( "stroke-dasharray", "10,10" )
.call( animLink );
}
你可以在这里看到一把小提琴。一开始有5秒的延迟,尽管我指定了.delation(0).
与我的2000个节点相比,小提琴中的图形非常小。
问题在于,您正在调用在力布局的每个迭代(即tick
事件)启动动画的代码。也就是说,你一次又一次地设置它,这样它实际上就没有机会运行,因为新的转换会抵消旧的转换。
当它实际运行时,是因为部队布局已经稳定下来,没有更多的tick
事件。解决方案:在tick
事件处理程序之外调用代码。在这里演示。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Indexeddb检索速度慢的问题
- 加载javascript和速度问题
- 如何解决wordpress网站的速度问题
- jQuery:计算可见元素-效率/速度问题
- 页面速度 - 仅使用 defer 属性的任何问题
- 似乎更多问题(单击查看更多 5-10 次后操作速度变慢)
- 使用速度.js没有jquery的UI动画时出现问题
- D3有向图中链接动画的速度问题
- 我如何在Node.js中读取tgz文件有问题吗?基准银行表示,它的速度很慢
- 谷歌Chrome浏览器速度问题
- 谷歌地图实现导致谷歌页面速度问题
- 动画速度问题
- 网页速度url参数问题
- chrome的DOM更新速度比firefox慢,看起来chrome有一些渲染问题