2013-02-01 1 views
1

메인 HTML에 하이 차트 그래픽이 있습니다. 나는 그래픽의 일부분이 보이지 않도록 작은 div에 넣었다. 사용자가 버튼을 클릭하면 팝업으로 colorbox에서 열리지 만 크기는 새로 고침되지 않습니다. Firebug를 검사하기 위해 클릭하면 갑자기 크기가 새로 고쳐지고 모든 것이 정상입니다. colorbox를 닫을 때 여전히 크고 그래픽의 많은 부분을 볼 수 없습니다.하이 차트는 Colorbox에서 새로 고침하지 않지만 Firebug에서 검사 할 때 자동으로 새로 고침

Highcharts 그래픽을 새로 고치는 방법과 내가 방화 벽이있는 요소를 클릭했을 때 내가 원하는 것을 새로 고치는 이유에 대해 알고 싶습니까?

PS : 파이어 버그와 관련없는 창 크기를 조정할 때 작동합니다. 이 일이 여기에 광산과 같은 문제가 보인다 말할 하드보고 예를 들어없이 https://github.com/highslide-software/highcharts.com/issues/472

답변

1

데이터를로드하고 컬러 박스를 닫은 후에 window.resize를 호출하면 문제가 해결되었습니다.

0

을하지만, 여기에 내가 무슨 일이 일어나고 생각입니다 : 옵션 reflow이 true로 설정되어

먼저 확인합니다. 그럴 경우 Highcharts는 window.resize 이벤트를 모니터하고 크기 조정이 발생할 때 자체를 다시 그립니다. Firebug를 활성화하면 창 크기가 조정되고 차트가 다시 그려지는 것 같습니다.

차트의 새 크기를 수동으로 설정하려면 api 메서드 setSize()을 사용할 수 있습니다. 차트를 다시 그리려면 redraw()을 사용해야합니다.

+0

리플 로우의 경우 기본적으로 true로 설정됩니다. 내 다른 js에서 차트 개체를 가져올 수 없으며 문제에 대한 일반적인 해결책을 찾고 있습니다. – kamaci

+0

내가 설명한 것은 Highcharts가 크기 조정 이벤트를 처리하는 방법과 수동으로 크기 조정을 수행하는 방법입니다. 내가보기에는 모범을 보이지 않고 너를 도울 방법을 모른다. – eolsson