Highcharts - IE中的Formatter问题

时间:2013-03-27 16:36:51

标签: highcharts

我无法在yaxis中使用格式化程序功能在IE 7和8中工作。如果值大于零,则用于更改颜色。在其他浏览器和IE 9中运行良好。

我使用了一个格式化程序来改变工具提示的颜色,这在IE中有效,但Y轴中的以下内容却没有。有什么想法吗?

yAxis: {
labels: {
        formatter: function() {
    if(this.value > 0 ){
        return  '<span style="fill: #4572a7;font-weight:800;">' + '$' + this.value + '</span>';
    }
    else {
        return  '<span style="fill: red;font-weight:800;">' + '-$' + Math.abs(this.value) + '</span>'
    }
    }
    },
    alternateGridColor: '#F5F5F5',
    minorTickInterval: 'auto',
    lineWidth: 1,
    tickWidth: 1
},

2 个答案:

答案 0 :(得分:0)

我相信这是因为highcharts在IE7 / 8中使用VML,因为不支持svg,填充CSS属性是svg样式,不受支持。尝试使用颜色而不是填充。它应该与每个人玩得很好。

答案 1 :(得分:0)

我建议将useHTML设置为true,并用color css声明替换fill:

yAxis: {
        labels: {
            useHTML:true,
            formatter: function () {
                if (this.value > 0) {
                    return '<span style="color: #4572a7;font-weight:800;">' + '$' + this.value + '</span>';
                } else {
                    return '<span style="color: red;font-weight:800;">' + '-$' + Math.abs(this.value) + '</span>'
                }
            }
        },
        alternateGridColor: '#F5F5F5',
        minorTickInterval: 'auto',
        lineWidth: 1,
        tickWidth: 1
    },