如何使用cytoscape.js在单个动画中朝特定方向移动所有节点?

时间:2019-02-06 23:04:40

标签: javascript animation position cytoscape.js

我想做这样的事情:

cy.nodes().animate({
    position: { x: x + 100, y: y + 100 },
});

但这不起作用。我只是不知道如何访问节点的当前位置。我想我只是在这里错过了一些简单的事情。

1 个答案:

答案 0 :(得分:1)

我认为您可以使用preset布局来实现自己想要的目标:

cy.nodes().layout({
  name: 'preset',
  animate: true,
  fit: false,
  transform: (node) => {
    let position = {};
    position.x = node.position('x') + 100;
    position.y = node.position('y') + 100;
    return position;
  }
}).run();

有关更多选项,请参见doc

这是一个JS Bin演示(按动画按钮)。