Highcharts:悬停其他系列时更改系列的颜色

Highcharts:悬停其他系列时更改系列的颜色,highcharts,Highcharts,我有一个问题,我想改变一个列系列的填充颜色时,悬停在另一个系列。(这是为了可视化相关系列) 我成功地改变了mouseOver上的颜色,但无法恢复mouseOut上的颜色 到目前为止,我掌握的密码是开启的 将鼠标悬停(鼠标悬停在上方)时,顶部堆叠系列(浅蓝色)的颜色与底部(黑色)系列的颜色相同。出于一个或其他原因,mouse out事件与mousOver事件的工作方式不同。执行鼠标移出时,代码似乎会循环。显然,在执行更新鼠标移出内部时,重新绘制-更新的一部分会导致递归调用鼠标移出,最终导致“超出堆

我有一个问题,我想改变一个列系列的填充颜色时,悬停在另一个系列。(这是为了可视化相关系列)

我成功地改变了mouseOver上的颜色,但无法恢复mouseOut上的颜色

到目前为止,我掌握的密码是开启的


将鼠标悬停(鼠标悬停在上方)时,顶部堆叠系列(浅蓝色)的颜色与底部(黑色)系列的颜色相同。出于一个或其他原因,mouse out事件与mousOver事件的工作方式不同。执行鼠标移出时,代码似乎会循环。

显然,在执行
更新
鼠标移出内部
时,
重新绘制
-更新的一部分会导致递归调用
鼠标移出,最终导致“超出堆栈大小”。在中,我使用了一个布尔值来防止它递归发生,这似乎在Chrome中对我有效。希望这就是你想要的。唯一真正的变化是在
mouseOver
mouseOut
中添加了
mouseSover
变量


这似乎是一个与调用
update
内部
mouseOut
有关的bug(?),早在2011年和2010年就有报道。

没错!这正是我需要的!谢谢
var hoverSerie;
var originalColor;
var newColor = '#a760d6'

$(function () {
    var t = $('#container').highcharts({
        chart: {
            type: 'column'
        },
        xAxis: {
            categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas']
        },
        yAxis: {
            min: 0
        },
        plotOptions: {
            column: {
                stacking: 'normal'
            }
        },
        series:[{
            events: {
                mouseOver: function() {

                    hoverSeries = this.chart.series[2]

                    originalColor = hoverSeries.options.color;
                    hoverSeries.options.color = newColor;
                    hoverSeries.update(hoverSeries.options);
                },
                mouseOut: function(){

                    if(originalColor)
                    {
                       hoverSeries.options.color = originalColor;
                       hoverSeries.update(); 
                    }
                }
            },
            animation : false,
            name: 'John',
            data: [5, 3, 4, 7, 2]
        }, {
            animation : false,
            name: 'Jane',
            data: [2, 2, 3, 2, 1]
        }, {
            animation : false,
            name: 'Joe',
            data: [3, 4, 4, 2, 5]
        }]
    });
});