0

現在、ツールチップ フォーマッタ関数を使用してツールチップの外観を制御しています。カスタム css を追加して、マウスに面しているツールチップ ボックスの側面に矢印を作成します。また、ポジショナー コールバックを使用して、ツールチップの配置を決定するだけでなく、マウスの一方の側からもう一方の側に変更されたときに、フォーマッター コールバックを更新して、ツールチップの矢印がある側を切り替えます (を参照)。以下のコード)。ツールチップがマウスの側面を切り替える最初のポイントを除いて、すべてが正常に機能します。ツールチップの「フォーマッター」関数がツールチップの「ポジショナー」関数の前に呼び出されることは明らかです (理由はおそらく明らかです)。ただし、側面が変わると、ツールチップを正しく描画できなくなります。ポジショナー コールバックで実行できるようにする必要があるのは、フォーマッター関数を更新してから、ツールヒントを再描画することです。それは可能ですか?

positioner: function (boxWidth, boxHeight, point) {
    // Set up the variables
    var chart = this.chart;
    var plotLeft = chart.plotLeft;
    var plotTop = chart.plotTop;
    var plotWidth = chart.plotWidth;
    var plotHeight = chart.plotHeight;
    var distance = 40;
    var pointX = point.plotX;
    var pointY = point.plotY;

    // Determine if we need to flip the tooltip from following on the left to
    // following on the right
    if ((pointX - boxWidth - distance) < plotLeft) {
        x = pointX + distance;
        chart.tooltip.options.formatter = function () {
            // UPATE THE TOOLTIP FORMATTER HERE
        };
    }
}

問題の js フィドルの例を次に示します http://jsfiddle.net/bteWs/

ゆっくりと進み、スイッチが発生する最初のポイントに気付くと、矢印は間違った方向を指します. その後、修正します(私の投稿で説明されているように)。この場合、正しい動作を得るための解決策を探しています。

4

2 に答える 2