隐藏div中绘制的JointJS图表具有错误的比例

时间:2015-11-18 16:33:11

标签: html svg jointjs

我在隐藏可见性的div中渲染JointJS图。当我将可见性设置为可见时,图表中的形状非常庞大。

我可以在代码中看到每个节点都通过调用来缩放:

box = this.node.getBBox()

但是这会返回一个空对象(可能是因为节点被隐藏了)。然后将宽度/高度默认为零。稍后,节点按比例缩放:

scalable.attr('transform', 'scale(' + (size.width / (scalableBbox.width || 1)) + ',' + (size.height / (scalableBbox.height || 1)) + ')');

由于返回的scalableBbox的宽度为0,(size.width /(scalableBbox.width || 1))的结果是宽度,因此节点缩放到其宽度* width / 1.高度也是如此

这似乎不对!

有没有办法在一个不可见的div中渲染一个JointJS图,或者有一种方法可以在div显示后重绘图表?

1 个答案:

答案 0 :(得分:1)

您可以从元素形状中删除scalable类以避免此问题。

缩放功能仅在调整大小时使用:documentation

您可以定义自己的形状而不使用可扩展元素:tutorial