Я создаю адаптивную диаграмму, которая включает текстовое поле справа от области диаграммы. Текст обновляется при наведении курсора на данные на графике.
Текстовое поле реагирует и отлично работает на меньшем экране при наведении курсора на первый набор данных. Однако это не работает при наведении курсора на 2-й и 3-й наборы данных.
См. скрипку: http://jsfiddle.net/b0u10ndw/
Вот код адаптивного раздела:
responsive: {
rules: [{
condition: {
maxWidth: 500
},
chartOptions: {
legend: {
align: 'center',
verticalAlign: 'bottom',
layout: 'horizontal'
},
series: { point: { events: { mouseOver: function () {
var chart = this.series.chart;
if (!chart.lbl) {
chart.lbl = chart.renderer.label('')
.add();
}
chart.lbl
.show()
.css({ width: '80' })
.attr({ text: 'this is the text and I have to make it really long so that it goes for multiple lines' });
chart.lbl.align(Highcharts.extend(chart.lbl.getBBox(), {
align: 'right',
x: 0, // offset
verticalAlign: 'top',
y: 50 // offset
}), null, 'spacingBox');
}
} } },
Сделайте диаграмму маленькой, затем наведите указатель мыши на каждую полосу, и вы увидите проблему.
Я попытался установить ширину текстового поля в процентах, но, похоже, он принимает только единицы пикселей.