html - 在隐藏的 div 中绘制的 JointJS 图比例错误

标签 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)) 的结果是宽度,因此节点被缩放到它的宽度 * 宽度/1。高度也是如此.

这似乎是错误的!

有没有办法在不可见的 div 中呈现 JointJS 图表,或者有没有办法在 div 可见后重新绘制图表?

最佳答案

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

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

你可以定义你自己的没有可缩放元素的形状:tutorial

关于html - 在隐藏的 div 中绘制的 JointJS 图比例错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33785397/

相关文章:

html - .html 和 .xhtml 扩展名有什么区别? XHTML 是一种标记语言,或者它也是一种不同的扩展

php - 使用 PHP 变量的 HTML 嵌入视频不起作用

css - 如何在 WordPress 中加载 SVG?

svg - JointJs:随元素一起缩放自定义形状 html(使用 paperScroller.zoom)

javascript - JointJS 无法连接端口,说 "getPortSelector"不是函数

javascript - 下载图表 JOINTJS Image | SVG ==> 带有 Javascript 的 PNG

html - 覆盖一个 div 但将元素保留在可操作的下方

javascript - WordPress 的 jQuery 平滑滚动不起作用

javascript - .SVG 如何显示(淡入部分图像)

javascript - 为 IE/Edge 中的 SVG 元素添加 .blur() 方法