2

我对 Raphael JS 遗漏了一些明显的东西。我是 a) 循环遍历数组,b) 从值中绘制圆圈,c) 创建文本叠加层,以及 d) 在 Raphael 中设置侦听器。

我正在努力解决的是听众的行动。具体来说,如何通过 id 获取元素,然后将其移至顶部。

来源 JSFiddle http://jsfiddle.net/NPks2/3/

我希望这会起作用,但事实并非如此。你能帮我吗?

// this happening while looping through an object
var p = paper.circle(x_coord, y_coord, diameter)
    .data("i", i)
    .attr({"fill": "90-"+fillColorStart+":5-"+fillColorEnd+":95","fill-opacity": 0.5})
    .glow({color: "#4b4b4b", width: 7})

    paper.text(x_coord, y_coord, opportunityTitle)
    .data("text_id", i+"text")
    .attr({ "font-size": 16, "font-family": fontFamily, "fill":fontColor});

    paper.text(x_coord, title_y_coord, ideasCount)
    .attr({ "font-size": 27, "font-family": fontFamily, "fill":fontColor});


// loop is over, listeners are waiting
paper.forEach(function(element) {
    element.mouseover(function() {
            c = elem_id = this.data("i");    
        t = p.getById(elem_id"+text);

        c.toFront();
        t.toFront();
    });
});
4

1 回答 1

3

您需要添加:

this.toFront();

到你的 element.mouseover 函数:

我更新了你的小提琴

于 2012-05-15T12:28:07.647 回答