0

由于某些奇怪的原因,Graphael 没有取消悬停事件。在 pie.js 中找到了创建悬停事件的这段代码:

chart.hover = function (fin, fout) {
    fout = fout || function () {};

    var that = this;

    for (var i = 0; i < len; i++) {
        (function (sector, cover, j) {
            var o = {
                sector: sector,
                cover: cover,
                cx: cx,
                cy: cy,
                mx: sector.middle.x,
                my: sector.middle.y,
                mangle: sector.mangle,
                r: r,
                value: values[j],
                total: total,
                label: that.labels && that.labels[j]
            };
            cover.mouseover(function () {
                fin.call(o);
            }).mouseout(function () {
                fout.call(o);
            });
        })(series[i], covers[i], i);
    }
    return this;
};

取消悬停事件是 Raphael JS 是以下代码片段。使用这两个必须有一种方法可以为 Grapael 饼图创建悬停。在这里的任何帮助都将非常感激,因为我很难过!

elproto.unhover = function (f_in, f_out) {
    return this.unmouseover(f_in).unmouseout(f_out);
};
4

1 回答 1

0

悬停事件需要两个函数 - f_in 和 f_out

所以(使用我现在正在处理的示例)

pie.hover(
    // hover function
    function () {
        this.sector.stop();
        this.sector.scale(1.1, 1.1, this.cx, this.cy);
    },
    // un-hover function 
    function () {
        this.sector.scale(0.9, 0.9, this.cx, this.cy);
    }
);
于 2011-12-22T02:19:16.843 回答