2015-08-13 26 views
-1

目标:在下面的演示中,如果你将鼠标悬停在右上角的状态上,你会看到它们都被命名为“Intermountain”。我需要他们全部突出显示悬停,文档没有提供详细信息如何执行此操作。HighMaps分组悬停

我尝试使用

   states: { 
        hover: { 
         enabled: true 
        } 
       }, 

,但它不会做什么,我需要。

演示:http://jsfiddle.net/TUy7x/781/

$(function() { 

    // Initiate the chart 
    $('#container').highcharts('Map', { 

     series: [{ 
      "type": "map", 

      states: { 
       hover: { 
        enabled: true 
       } 
      }, 
       "data": //more than highchart character limits 
    }); 
}); 
+0

我明白,没有评论的downvote。 –

回答

1

你能赶上鼠标悬停/鼠标移开,然后找到具有相同名称的所有点。

series:{ 
      point:{ 
       events:{ 
        mouseOver:function(){ 

         var series = this.series, 
          name = this.name; 

         $.each(series.data, function(i, data){ 
          if(data.name === name) { 
           data.setState('hover'); 
          } 
         }); 
        }, 
        mouseOut:function(){ 
         var series = this.series, 
          name = this.name; 

         $.each(series.data, function(i, data){ 
          if(data.name === name) { 
           data.setState(''); 
          } 
         }); 
        } 
       } 
      } 
     } 

实施例:http://jsfiddle.net/TUy7x/782/

+0

太好了,我觉得有一个错误。如果将鼠标悬停在另一个上面,然后用另一个名称替换另一个名称,则最初的那个不再被突出显示。 –

+2

@Hanoncs禁用动画解决问题 - http://jsfiddle.net/TUy7x/783/ –