0
私のゲージチャート上のCSS属性カラー値を動的に変更したいと思います。テキストを表示する 機能はここにある:HighChartsのrenderer.text CSS属性を動的に変更します
function setText(text, x, check) {
var chart = $('#graph-4').highcharts();
if (check === true) {
var color = '#ffffff';
} else {
var color = '#555555';
}
var ret = chart.renderer.text(text, chart.plotWidth*x, chart.plotHeight*0.5)
.attr({
zIndex: 5
})
.css({
fontSize: '13px',
color: color,
'text-anchor': 'middle',
})
.add();
}
私の私のコードは、のsetTextを機能するように呼びかけている前に入ってくる値が0(ゼロ)未満であるので、もし、それが私のテキスト、その後、JSONからの着信値をチェックしています1つの色で表示し、入力値が0(ゼロ)より大きい場合は、テキストを別の色で表示する必要があります。 チャートはJSON行くから動的にさわやかな値であると、一連のコマンドによって更新されます。この行の後
chart.series[0].setData(incoming_value);
、私は関数を呼び出していたとき:
setText('myText', 0.3, colorParameter);
各リフレッシュは、新しいテキストが上の追加発生それはコード内に新しい行を生成し、クリーンな視覚効果を生成しません。
どのようにしてこのCSSプロパティを動的に更新できますか?
私は1つのラベルだけを表示したい場合に便利です。しかし、setText関数を使用して2つ(またはそれ以上)のラベルを表示したい場合は、コード内で最後に発生したものに対してのみ機能します。では、コードを変更してより普遍的な/繰り返し可能なものにすることができますか?私は2番目の関数 'setText2'を作成し、 'this.customText'を 'this.customText1'に変更しました。 – Pirum
私はすべてのカスタムテキストを保持し、変更するテキストを識別する関数に別のパラメータを追加する配列/オブジェクトを作成します - http://jsfiddle.net/qdnk21ej/1/ – morganfree