Move images rendered on highcharts on resize

十年热恋 提交于 2019-11-27 08:42:45

问题


I'm adding an image to the lower right hand corner of a chart in the chart loading event using the chartWidth and chartHeight properties to calculate the left / top offsets.

chart.renderer.image('img.png', left, top, 30, 30).add();

When the browser window resizes the chart also resizes, but the image remains fixed at the position set above. When the chart shrinks in width, I'd like to re-position the image based on the new chart width.

Is it possible to move the element using some javascript or do I have to remove it and make the above call again with the new position?


回答1:


Why not on resize remove the image, then once the chart is done being resized, recalculate the position and add the image back?




回答2:


I ended up storing a reference to the original width of the chart and the image. Then on resize, I'm shifting the image by the offset of the two widths -

var img, originalWidth;

function chartLoad(chart) {
  var top = 100, left = 100;

  originalWidth = chart.chartWidth;
  img = chart.renderer.image('img.png', left, top, 30, 30).add();
}

function chartResize(e) {
  var offset = e.target.chartWidth - originalWidth;
  img.translate(offset, 0);
}


来源:https://stackoverflow.com/questions/20664410/move-images-rendered-on-highcharts-on-resize

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!