【问题标题】:Combining two snap svg groups into one single group将两个 snap svg 组组合成一个组
【发布时间】:2021-08-19 06:44:34
【问题描述】:

我有两个 snap svg 组 grp1grp2。现在我想把这两组合并成一个组。我试过append()appendTo()prepend()prependTo(),但他们都以一种或另一种方式在另一个组中添加一个组。

这里是code on JSFiddle

有人知道如何实现吗?

【问题讨论】:

    标签: javascript html svg dom snap.svg


    【解决方案1】:

    使用 SnapSVG,您使用节点

    这意味着您的 g1g2 是 Snap 对象

    要使用像 append 这样的 DOM 方法,您需要更深入地挖掘才能访问节点

    SnapSVG 的优点是您可以链接方法

    工作代码:

    <script src="https://cdnjs.cloudflare.com/ajax/libs/snap.svg/0.5.1/snap.svg-min.js"></script>
    
    <svg id="Canvas" height="100"></svg>
    
    
    <script>
    let canvas = Snap('#Canvas');
    
    let g1 = canvas.g()
                   .add(canvas.rect(10, 10, 80, 60).attr({fill: 'green'}))
                   .add(canvas.circle(150, 60, 40 ).attr({fill: 'gold'}));
    let g2 = canvas.g()
                   .add(canvas.circle(150, 60, 20 ).attr({fill: 'red'}));
    
    g1.node.append(...g2.node.children);
    g2.remove();
    
    document.body.append(canvas.node.innerHTML)
    </script>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多