使用Raphaels中paper.setStart()和paper.setFinish()之间的元素

时间:2013-10-21 20:09:01

标签: javascript raphael

这是我的问题。 Actualy它有两个部分 - 第一个蚂蚁。我们举个例如这个代码。 我正在制作一个由地区组成的地图(我的国家由地区组成,地图是我国的地图)。所以我想用整个地图做点什么 - 比如缩放,翻译......(注释行)。 而且我想要与每个或仅仅一个部分合作 - 所以有一个区域。 我是Raphaels的新手,也是javascript的新手,我根本不知道怎么做。所以这就像我将如何做的伪代码,显然我应该做另一个,我的问题是如何。那么让我们看看下面的代码:

 window.onload = function() {
      var p = Raphael("paper");
      p.rect(0,0,600,350);

      p.setStart();
        var region1 = p.path("M404 ...");//I wont write all path here, "..." = rest of the path
        var region2 = p.path("M173.5 ...");
        //... rest of regions
      var map = p.setFinish();
      //map.scale(...).translate(...);// ... means just something correct is inthere

  //I wanna do first for example something like this
   map.region1.attr({
     fill: "blue"
   });
  //how should I do it?
  //Then second I would do also something like this
   for (region in map) {
      region.attr({//something...});
   }
 };

1 个答案:

答案 0 :(得分:0)

我认为您可能想要的两种主要方法是......

set.forEach(function(e){
    //do something here on every element
})

set.transform('t100,100s2'); //translate and scale

我会在http://raphaeljs.com/reference.html通过拉斐尔文档进行翻找,然后发布一些jsfiddle(你可以在左边添加raphael lib)以及你遇到的任何特定问题。