0

这是我的问题。实际上它有两个部分 - 第一和第二。让我们以这段代码为例。我正在制作一张由地区组成的地图(我的国家由地区组成,地图是我的国家的地图)。所以我想对整个地图做点什么——比如缩放、翻译……(注释行)。而且我还想与每个或仅与其中的一个部分合作 - 所以与一个地区合作。我是 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...});
   }
 };
4

1 回答 1

0

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

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

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

我会在http://raphaeljs.com/reference.html上的 Raphael 文档中翻找一些内容,然后发布一个 jsfiddle(您可以在左侧添加 raphael lib)来解决您遇到的任何具体问题。

于 2013-10-31T11:04:41.003 回答