JSFIDDLE here of my issue.巴西地区应加载到模式中。
学习snap
并尝试从世界地图中获取区域并将其复制到引导模态中。因此,单击某个区域,该区域的图像将用于模态。
我已经实现了这个,但是形状在新画布的右边。我理解这与viewbox
有关并且转换了克隆的svg组的coords。我如何适应视图框的形状?
这是我复制图片的代码,当然这不起作用。
var m = Snap('#world-map');
var d = Snap('#svg-region');
var regionSVG = m.select('#Brazil');
var p = Snap.parse(regionSVG);
var g = d.append(p);
这会复制SVG内容,但在模态中不可见。在检查时,我可以看到它在右边。如何将Brazil
svg组(例如)放在引导程序中的svg中?
答案 0 :(得分:1)
首先,你可能想克隆()巴西g元素,或者可能使用'use'元素来引用它。
在这种情况下,我只是克隆它,并将其添加到模态svg ......
var bb = regionSVG.getBBox();
var vb = bb.x + ' ' + bb.y + ' ' + bb.width + ' ' + bb.height;
d.attr({ viewBox: vb})
然后我们可以得到边界框,并从那个...
创建一个viewBox"C:\Program Files\Git\bin\vc14.bat"
嘿,它现在应该有巴西地图。
您可能希望每次清理模式中的元素上的remove()等事情。