Highcharts 将外部工具提示添加到特定 div
Highcharts add external tooltip into specific div
我在迷你图高图容器上使用了全屏功能。
类似和缩短的结果在此处可见:https://jsfiddle.net/vegaelce/avyrs5od/
全屏运行良好,但在全屏模式下,由于 tooltip.outside 参数(在我的情况下这是强制性的),工具提示不显示:
tooltip: {
outside: true
},
在这种情况下,工具提示 (class highcharts-tooltip-container) 的 div 是在“body”下自动创建的,而我需要它们是在“container”下创建的 div(因为它是全屏显示的容器 div)。
是否可以为外部工具提示分配特定的 div?
提前致谢
fullscreen 获取容器并拉伸整个屏幕,外部时的工具提示:true 添加一个新的 div 和一个新的 SVG 到主体的末尾 - 所以它不能在全屏模式下看到。解决方案可能是在代码中找到它被扔到主体末尾的位置,并将其移动到制作全屏的 div 的某个位置。
一个小的包装应该没问题 - 这个 div 的位置,外面有工具提示: ture 不应该影响它的正确显示:https://www.highcharts.com/docs/extending-highcharts/extending-highcharts
(function(H){
H.wrap(H.Tooltip.prototype, 'getLabel', function (proceed) {
// proceed
var result = proceed.apply(this, [].slice.call(arguments, 1));
if (
(this.container || {}).parentElement === H.doc.body
) {
// move to the top container for spark-line
H.doc.getElementById('container').appendChild(this.container);
}
return result;
});
}(Highcharts));
对于自定义工具提示,您可以通过在定位器函数中添加 window.scrollY 来解决滚动主 window 时工具提示位置发生变化的问题。
var panelY = this.chart.plotHeight + this.chart.container.getBoundingClientRect().top + window.scrollY;
我在迷你图高图容器上使用了全屏功能。 类似和缩短的结果在此处可见:https://jsfiddle.net/vegaelce/avyrs5od/
全屏运行良好,但在全屏模式下,由于 tooltip.outside 参数(在我的情况下这是强制性的),工具提示不显示:
tooltip: {
outside: true
},
在这种情况下,工具提示 (class highcharts-tooltip-container) 的 div 是在“body”下自动创建的,而我需要它们是在“container”下创建的 div(因为它是全屏显示的容器 div)。
是否可以为外部工具提示分配特定的 div?
提前致谢
fullscreen 获取容器并拉伸整个屏幕,外部时的工具提示:true 添加一个新的 div 和一个新的 SVG 到主体的末尾 - 所以它不能在全屏模式下看到。解决方案可能是在代码中找到它被扔到主体末尾的位置,并将其移动到制作全屏的 div 的某个位置。 一个小的包装应该没问题 - 这个 div 的位置,外面有工具提示: ture 不应该影响它的正确显示:https://www.highcharts.com/docs/extending-highcharts/extending-highcharts
(function(H){
H.wrap(H.Tooltip.prototype, 'getLabel', function (proceed) {
// proceed
var result = proceed.apply(this, [].slice.call(arguments, 1));
if (
(this.container || {}).parentElement === H.doc.body
) {
// move to the top container for spark-line
H.doc.getElementById('container').appendChild(this.container);
}
return result;
});
}(Highcharts));
对于自定义工具提示,您可以通过在定位器函数中添加 window.scrollY 来解决滚动主 window 时工具提示位置发生变化的问题。
var panelY = this.chart.plotHeight + this.chart.container.getBoundingClientRect().top + window.scrollY;