Snap.js - 如何将属性设置为加载的svg

时间:2016-10-14 13:06:45

标签: javascript svg snap.svg

我在这里创建了一个简单的snapjs示例https://plnkr.co/edit/CyeVHuuuWrTAy1yKsp4d?p=preview

这是我的脚本 - 我正在加载一个svg,我想把它画成绿色。 令人惊讶的是,不是svg是彩色的,而是“bigCircle”,我画的也是。

$(document).ready(function() {
  var s = Snap("#svg");
  var bigCircle = s.circle(150, 150, 100);
  Snap.load("world.svg", function (f) {
      var world = s.append(f);
      world.attr({
        fill: "#bada55",
      });
      bigCircle.drag();
      world.drag();
  });
})

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

放置后需要选择世界。您正尝试这样做:

var world = s.append(f)

但这并没有回归构成世界的道路。它返回整个svg。我先添加世界,然后选择它。我通过添加以下行来修复它:

world=s.select('[id="layer1"]')

我看到你的svg中的世界都被归为一个id。选择后,您可以按照自己的意愿应用颜色/拖动。以下是这个问题:https://plnkr.co/edit/t4JmZMz4JPJ0dDb95aQc?p=preview