Как получить доступ к правильным значениям данных в моем JavaScript, чтобы записать их в HTML (Рафаэль Дж.С.) - PullRequest
0 голосов
/ 27 марта 2019

У меня есть карта страны в Рафаэле Дж.С., путь каждой провинции имеет уникальный идентификатор, который является названием провинции.

Образец:

var Cabinda=rsr.path("m 60.0241,346.7668 10.2951,8.3215 -8.5072,3.0892 
-5.4582,7.1326 -8.2951,4.6265 3.0526,3.8057 -0.7677,19.9354 -10.5567,1.3151 
-2.2395,-5.147 3.0053,-4.8937 -3.8053,-10.4264 -4.068,-5.8434 6.2945,-8.8999 
5.1218,-0.0768 1.934,-5.6738 7.8199,-1.4295 z").attr( {
id: 'Cabinda', parent: 'angola', fill: 'none', stroke: '#000000', "stroke- 
opacity": '1', 'stroke-width': '2'
}).transform("m0.98965296,0,0,0.87648538,-3.2175615,-286.00894").data('id', 
'Cabinda');

Каждая из этих провинций находится в массиве с именем subDivs:

var subDivs=[Cabinda];
subDivs.push( CuandoCubango, Moxico, Namibe, etc... );

У меня есть цикл for, в котором есть события mouseover и mouseout для каждой из провинций:

for(var subName in subDivs) {
  (function (sub) {
      sub.attr(style);
      var subdivId = subName.id;

      sub[0].addEventListener("mouseover", function() {
          sub.animate(hoverStyle, animationSpeed);
          document.getElementById("showname").innerHTML = subdivId;
      }, true);

      sub[0].addEventListener("mouseout", function() {
        sub.animate(style, animationSpeed);
        document.getElementById("showname").innerHTML = '';
      }, true);

  })(subDivs[subName]);
}

У меня на карте вверху есть элемент #showname, на котором я хочу отображать название каждой провинции, когда она находится над ней. До сих пор я пытался добавить эти две строки, но он не показывает идентификатор провинции - он отображается в div #nameshow как «undefined».

var subdivId = subName.id;

document.getElementById("showname").innerHTML = subdivId;
...