首页 > 解决方案 > 如何使用 cytoscape.js 在单个动画中沿特定方向移动所有节点?

问题描述

我想做这样的事情:

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

但这不起作用。我根本不知道如何访问节点的当前位置。我想我只是在这里遗漏了一些简单的东西。

标签: javascriptanimationpositioncytoscape.js

解决方案


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();

有关更多选项,请参阅文档

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


推荐阅读