2016-10-19 3 views
0

일부 슬라이스에서만 호버링을 해제하려는 파이 차트가 있습니다.하이 차트 - 파이 차트에서 슬라이스의 호버링을 사용하지 않음

지금까지 내가 할 수있는 최선책은 jsfiddle입니다. 오류 (plap 함수가 존재하지 않음)를 발생시킴으로써 호버 동작을 방지 할 수 있습니다. 그러나 이것은 깨끗하지 않으며 언젠가는 내 코드를 깨뜨릴 수있는 plap 함수를 만듭니다.

setState를 사용해 보았지만 작동하지 못했습니다. plotOptions.series.states.hover.enabled 옵션은 series.point.state보다 강력하다고 생각합니다.

그럼 내 질문은 내가 원하는 것을 어떻게 더럽 히지 않고 얻을 수 있는가?

RQ : 이걸 question으로 보았지만 내가 원하는 것을하지 않았습니다.

542 : 유래 그래서 여기에 몇 가지 코드를 요구 내가 만드는 데 사용하는 차트 옵션이 조금 더러운

chart: {type: 'pie'}, 
    plotOptions: { 
     series: { 
      states: {hover: {enabled: true}}, 
     } 
    }, 
    series: [{ 
     point: { 
     events: { 
      mouseOver: function() { 
      if (this.y < 100) { 
       plap(); 
      } 
      }, 
     } 
     }, 
     data: [89.9, 71.5, 106.4, 129.2, 144.0] 
    }], 
    tooltip: {enabled: false}, 
+0

정확히 무슨 당신이 "너무 더러운 것"에 의해 의미합니까? –

+0

잘이 코드는 "Uncaught ReferenceError : plap is not defined"를 발생시킵니다. 이것은 깨끗한 것과는 정반대입니다. 그것은 내 콘솔을 오염시키고 아무런 예고없이 앞으로 깨질 위험이 높습니다. – M0rkHaV

+0

chart.series [0] .data ....... – Mahi

답변

0

이 솔루션은, mouseOver 이벤트에 맴 돕니 지점의 상태를 설정하는 것입니다 작업입니다. setState ('hover')는 이미 호버 (hover) 상태 인 경우 아무 것도하지 않습니다.

mouseOver: function() { 
     if (this.y < 100) { 
    //  plap(); 
       this.state = 'hover'; 
     } 
     } 

예 : https://jsfiddle.net/cp2tL9sd/4/

+0

그것이 효과가있다. 그러나 나는 왜 잘 이해하지 못한다? 여기를 가리 키도록 상태를 설정하면 실제로 어떻게 호버링을 사용 중지 할 수 있습니까? – M0rkHaV

+0

setState()가 구현 된 결과입니다. 점이 어떤 상태에 있으면 setState() 메서드는 무언가가 수행되기 전에 점의 실제 상태가 '상태가 됨'과 다른지 확인합니다. 동일한 경우 setState()는 아무 작업도 수행하지 않습니다. 점의 그래픽이 이미 업데이트 된 것으로 가정하기 때문입니다. – morganfree

관련 문제