JointJS:在 x 和 y 中进行转换的最佳方法?
JointJS: the best method for doing a transition in both x and y?
我正在将元素的运动动画化到所需的新点,但我无法计算出正确的语法来将两个值传递给转换函数。我现在有一个解决方法:
packet.transition('position/y', linkInfo.end.y, {
delay: animationDelay,
duration: animationDuration
});
packet.transition('position/x', linkInfo.end.x, {
delay: animationDelay,
duration: animationDuration
});
这似乎不太令人满意,因为我知道必须有更好的方法。我花了太长时间仔细研究文档和教程,但正确的方法仍然没有穿透我厚实的头骨。有好心人可以帮忙吗?
非常感谢!
你有没有试过这样的事情:
packet.transition('position', {x: linkInfo.end.y, y: linkInfo.end.y}, {
delay: animationDelay,
duration: animationDuration
});
这是我最终使用的代码。我的问题是不理解插值类型。
var linkInfo = {
start: {
x: startX,
y: startY
},
end: {
x: endX,
y: endY
},
source: sourceCell,
target: targetCell
};
packet.position(linkInfo.start.x, linkInfo.start.y);
graph.addCell(packet);
packet.transition('position', linkInfo.end, {
delay: animationDelay,
duration: animationDuration,
valueFunction: joint.util.interpolate.object
});
我正在将元素的运动动画化到所需的新点,但我无法计算出正确的语法来将两个值传递给转换函数。我现在有一个解决方法:
packet.transition('position/y', linkInfo.end.y, {
delay: animationDelay,
duration: animationDuration
});
packet.transition('position/x', linkInfo.end.x, {
delay: animationDelay,
duration: animationDuration
});
这似乎不太令人满意,因为我知道必须有更好的方法。我花了太长时间仔细研究文档和教程,但正确的方法仍然没有穿透我厚实的头骨。有好心人可以帮忙吗?
非常感谢!
你有没有试过这样的事情:
packet.transition('position', {x: linkInfo.end.y, y: linkInfo.end.y}, {
delay: animationDelay,
duration: animationDuration
});
这是我最终使用的代码。我的问题是不理解插值类型。
var linkInfo = {
start: {
x: startX,
y: startY
},
end: {
x: endX,
y: endY
},
source: sourceCell,
target: targetCell
};
packet.position(linkInfo.start.x, linkInfo.start.y);
graph.addCell(packet);
packet.transition('position', linkInfo.end, {
delay: animationDelay,
duration: animationDuration,
valueFunction: joint.util.interpolate.object
});