在调整大小时移动在高图上呈现的图像

时间:2013-12-18 17:18:38

标签: javascript svg highcharts highstock

我在图表加载事件中使用chartWidth和chartHeight属性将图像添加到图表的右下角,以计算左/上偏移。

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

当浏览器窗口调整大小时,图表也会调整大小,但图像仍保持固定在上面设置的位置。当图表宽度缩小时,我想根据新的图表宽度重新定位图像。

是否可以使用某些javascript移动元素,还是我必须删除它并使用新位置再次进行上述调用?

2 个答案:

答案 0 :(得分:4)

为什么不在调整大小时删除图像,然后在调整图表大小后重新计算位置并重新添加图像?

答案 1 :(得分:1)

我最终存储了对图表原始宽度和图像的引用。然后在调整大小时,我将图像移动两个宽度的偏移 -

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);
}