0

スライスがマウスオーバーで引き出されるハイチャートでアニメーション化された円グラフを実装しています。マウスアウトでスライスを「閉じた」位置に戻したいという問題を除けば、すべて問題ありません。

これはアニメーションのコードで、mouseOut に clearTimeout がありますが、これはスライスを元の位置に戻していません。

チャートを元の位置に戻す簡単な方法はありますか。

ここにフィドルがあります...

http://jsfiddle.net/rupertito/Y3wvN/1/

   pie: {
       allowPointSelect: true,
                        stickyTracking: false,

                        point: {
                        events: {
                                    legendItemClick: function() {

                                            return false;

                                    },
                                    mouseOver: function(event) {
                                        var point = this;

                                        if (!point.selected) {                                                          
                                            timeout = setTimeout(function () {
                                                point.firePointEvent('click');

                                                sectors.tooltip.refresh(point);
                                            }, 20);
                                        }
                                    }
                                }


                            },
                        events: {
                            mouseOut: function() {
                                clearTimeout(timeout);

                            },

                        },

これがすべて理にかなっていることを願っています。事前に助けてくれてありがとう。

乾杯 ロブ

4

1 に答える 1

6

これは、ここで報告されたバグです。それはポイントのためにスライスを働かないことについてです。その問題を回避する回避策もあります。mouseOver/mouseOut を使用した簡単な例: http://jsfiddle.net/GqfU4/8/

function setTranslation(p, slice){
    p.sliced = slice;
    if(p.sliced){
        p.graphic.animate(p.slicedTranslation);
    } else {
        p.graphic.animate({
            translateX: 0,
            translateY: 0
        });
    } 
}

パイの場合:

            point: {
                events: {
                    mouseOut: function () {
                        setTranslation(this, false);
                    },
                    mouseOver: function() {
                        setTranslation(this, true);
                    }
                }
            },
于 2013-05-21T12:52:26.720 に答える